home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / plain / contrib / springer / sw / sw.cmm < prev    next >
Encoding:
Text File  |  1991-04-21  |  96.2 KB  |  2,804 lines

  1. %springer plain-TeX makropackage for "shock waves" as of 4.12.1990
  2. \def\SprJLogoname{Shock Waves}%                      Journal short name
  3. %
  4. \newbox\Jname%                                  Macro Logo
  5. \newbox\Sname%
  6. \def\SprJLogo{%
  7.         \setbox\Jname=\hbox{ \logobf Shock Waves }%
  8.         \setbox\Sname=\hbox{ \bf An International Journal }%
  9.         \ifdim\wd\Sname>\wd\Jname%
  10.                 \setbox\Jname=\hbox to\wd\Sname{\hfil\box\Jname\hfil}
  11.         \fi
  12.         \vbox{\hrule\hbox{\vrule\vbox{\kern3pt%
  13.         \copy\Jname
  14.         \hbox to\wd\Jname{\hfil\copy\Sname\hfil}%
  15.         \smallskip
  16.         \hbox to\wd\Jname{\hfil\petit\copyright\ Springer-Verlag 1990\hfil}%
  17.         \kern3pt}\vrule}\hrule}}%
  18. %
  19. %
  20. % Keywords / Subject classification :
  21. % 0= keywords optional; 1= keywords obligatory;
  22. % 2= Subject Classifications (always obligatory)
  23. % 3= PACS (always obligatory)
  24. \def\keyob{1}
  25. %
  26. % Thesaurus: 0= optional; 1= obligatory; 2=not used
  27. \def\thesob{2}
  28. %
  29. % Formula counter: 0= right, 1= left
  30. \def\eqleft{0}  %changed from left to right, A. Binding, 23.11.90
  31. %
  32. % Begin of included file: fontb.tex
  33. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  34. %% Springer macro file: Part fontb.tex Version 1.4 (10/16/90) ERI/EDS/THS
  35. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  36. %
  37. %% FONTS
  38. %% The following assignments should be changed
  39. %% if you want another kind of fonts:
  40. %
  41. \let\FONTS=1% COMPUTER MODERN
  42. %%\let\FONTS=2% MONOTYPEII
  43. %%\let\FONTS=3% MONOTYPEIII
  44. %
  45. %  here are the available fonts and the commands to use them:
  46. %  -- 1 for cm-fonts
  47. %  -- 2 for Monotype-mt-fonts (until 1989)
  48. %  -- 3 for Monotype mt fonts version 3 (Jan. 1990)
  49. %
  50. \ifx 1\FONTS                % Knuth-Fonts : cm
  51. \message{ loading cm fonts }
  52. \font \fiverm        = cmr5
  53. \font \fivebf        = cmbx5
  54. \font \fivei        = cmmi5
  55. \font \fivesy        = cmsy5
  56. \font \fivexm        = msxm5
  57. \font \fiveym        = msym5
  58.  
  59. \font \sixrm        = cmr6
  60. \font \sixbf        = cmbx6
  61. \font \sixi        = cmmi6
  62. \font \sixsy        = cmsy6
  63. \font \sixmib        = cmmib10 scaled 640
  64. \font \sixssbf        = cmssbx10 scaled 640
  65. \font \sixxm        = msxm6
  66. \font \sixym        = msym6
  67.  
  68. \font \sevenrm        = cmr7
  69. \font \sevenbf        = cmbx7
  70. \font \seveni        = cmmi7
  71. \font \sevensy        = cmsy7
  72. \font \sevenmib        = cmmib10 scaled 700
  73. \font \sevenssbf    = cmssbx10 scaled 700
  74. \font \sevenxm        = msxm7
  75. \font \sevenym        = msym7
  76.  
  77. \font \eightrm        = cmr8                % Small size
  78. \font \eightbf        = cmbx8
  79. \font \eightsl        = cmsl8
  80. \font \eightit        = cmti8
  81. \font \eighttt        = cmtt8
  82. \font \eighti        = cmmi8
  83. \font \eightsy        = cmsy8
  84. \font \eightmib        = cmmib10 scaled 833
  85. \font \eightbsy        = cmbsy10 scaled 833
  86. \font \eightxm        = msxm8
  87. \font \eightym        = msym8
  88.  
  89. \font \tenrm        = cmr10                % Normal size
  90. \font \tenbf        = cmbx10
  91. \font \tenit        = cmti10
  92. \font \tentt        = cmtt10
  93. \font \teni        = cmmi10
  94. \font \tensy        = cmsy10
  95. \font \tenmib        = cmmib10
  96. \font \tenssbf        = cmssbx10
  97. \font \tenbsy        = cmbsy10
  98. \font \tenex        = cmex10
  99. \font \tenxm        = msxm10
  100. \font \tenym        = msym10
  101.  
  102. \font \twlfbf        = cmbx10 scaled \magstep1    % Subtitle
  103. \font \twlfbxti        = cmbxti10 scaled \magstep1
  104. \font \twlfmib        = cmmib10 scaled \magstep1
  105. \font \twlfbsy        = cmbsy10 scaled \magstep1
  106. \font \twlfxm        = msxm10 scaled \magstep1
  107. \font \twlfym        = msym10 scaled \magstep1
  108.  
  109. \font \logobf        = cmbx10 scaled \magstep2    % Journal Logo Font
  110.  
  111. \font \sxtnbf        = cmbx10 scaled \magstep3    % Main title
  112. \font \sxtnti        = cmti10 scaled \magstep3
  113. \font \sxtnbxti        = cmbxti10 scaled \magstep3
  114. \font \sxtnmib        = cmmib10 scaled \magstep3
  115. \font \sxtnbsy        = cmbsy10 scaled \magstep3
  116. \font \sxtnxm        = msxm10 scaled \magstep3
  117. \font \sxtnym        = msym10 scaled \magstep3
  118. %---------------------------------------------------------------------------
  119. % this part included by Springer
  120. % Draft definition of caps small caps for ionization level
  121. \font \tensc = cmcsc10
  122. \font \eightsc = cmcsc10 at 8 pt
  123. % end of included part
  124. %
  125. %---------------------------------------------------------------------------
  126. %------------------------------------------------------
  127. \fi
  128.  
  129. \ifx 3\FONTS            % Monotype-Fonts : mt version 3 1990
  130. \message{ loading monotype version 3 }
  131. \font \fiverm        = mtr10  at 5.25pt
  132. \font \fivebf        = mtbx10 at 5.25pt
  133. \font \fivei        = mtmi10 at 5.25pt
  134. \font \fivesy        = mtsy10 at 5.25pt
  135. \font \fivexm        = mtxm10 at 5.25pt
  136. \font \fiveym        = mtym10 at 5.25pt
  137. \font \fivespf        = mtspbx10 at 5.25pt
  138.  
  139. \font \sixrm        = mtr10  at 6.5pt
  140. \font \sixbf        = mtbx10 at 6.5pt
  141. \font \sixi        = mtmi10 at 6.5pt
  142. \font \sixsy        = mtsy10 at 6.5pt
  143. \font \sixmib        = mtmib10 at 6.5pt
  144. \font \sixssbf        = mtssbx10 at 6.5pt
  145. \font \sixxm        = mtxm10 at 6.5pt
  146. \font \sixym        = mtym10 at 6.5pt
  147. \font \sixspf        = mtspbx10 at 6.5pt
  148.  
  149. \font \sevenrm        = mtr10  at 7.5pt
  150. \font \sevenbf        = mtbx10 at 7.5pt
  151. \font \seveni        = mtmi10 at 7.5pt
  152. \font \sevensy        = mtsy10 at 7.5pt
  153. \font \sevenmib        = mtmib10 at 7.5pt
  154. \font \sevenssbf    = mtssbx10 at 7.5pt
  155. \font \sevenxm        = mtxm10 at 7.5pt
  156. \font \sevenym        = mtym10 at 7.5pt
  157. \font \sevenspf        = mtspbx10 at 7.5pt
  158.  
  159. \font \eightrm        = mtr10  at 8.5pt        % Small size
  160. \font \eightbf        = mtbx10 at 8.5pt
  161. \font \eightsl        = mtsl10 at 8.5pt
  162. \font \eightit        = mtti10 at 8.5pt
  163. \font \eighttt        = mttt10 at 8.5pt
  164. \font \eighti        = mtmi10 at 8.5pt
  165. \font \eightsy        = mtsy10 at 8.5pt
  166. \font \eightmib        = mtmib10 at 8.5pt
  167. \font \eightbsy        = mtbsy10 at 8.5pt
  168. \font \eightxm        = mtxm10 at 8.5pt
  169. \font \eightym        = mtym10 at 8.5pt
  170. \font \eightspf        = mtspbx10 at 8.5pt
  171.  
  172. \font \tenrm        = mtr10  at 10.25pt        % Normal size
  173. \font \tenbf        = mtbx10 at 10.25pt
  174. \font \tenit        = mtti10 at 10.25pt
  175. \font \tentt        = mttt10 at 10.25pt
  176. \font \teni        = mtmi10 at 10.25pt
  177. \font \tensy        = mtsy10 at 10.25pt
  178. \font \tenmib        = mtmib10 at 10.25pt
  179. \font \tenssbf        = mtssbx10 at 10.25pt
  180. \font \tenbsy        = mtbsy10 at 10.25pt
  181. \font \tenex        = mtex10
  182. \font \tenxm        = mtxm10 at 10.25pt
  183. \font \tenym        = mtym10 at 10.25pt
  184. \font \tenspf        = mtspbx10 at 10.25pt
  185.  
  186. \font \logobf        = mtbx10 at 15pt        % Journal Logo Font
  187.  
  188. \font \twlfbf        = mtbx10 at 12.75pt        % Subtitle
  189. \font \twlfbxti        = mtbxti10 at 12.75pt
  190. \font \twlfmib        = mtmib10 at 12.75pt
  191. \font \twlfbsy        = mtbsy10 at 12.75pt
  192. \font \twlfxm        = mtxm10 at 12.75pt
  193. \font \twlfym        = mtym10 at 12.75pt
  194. \font \twlfspf        = mtspbx10 at 12.75pt
  195.  
  196. \font \sxtnbf        = mtbx10 at 17pt        % Main title
  197. \font \sxtnti        = mtti10 at 17pt
  198. \font \sxtnbxti        = mtbxti10 at 17pt
  199. \font \sxtnmib        = mtmib10 at 17pt
  200. \font \sxtnbsy        = mtbsy10 at 17pt
  201. \font \sxtnxm        = mtxm10 at 17pt
  202. \font \sxtnym        = mtym10 at 17pt
  203. \font \sxtnspf        = mtspbx10 at 17pt
  204. \fi
  205.  
  206. \ifx 2\FONTS        % 1988/89 Mono Fonts : mt version 2 1988/89
  207.             % pica-sizes adjusted in order to get didot size
  208. \message{ loading monotype version 2 }
  209. \font \fiverm        = mtr5
  210. \font \fivebf        = mtbx5
  211. \font \fivei        = mtmi5
  212. \font \fivesy        = mtsy5
  213. \font \fivexm        = msxm5
  214. \font \fiveym        = msym5
  215.  
  216. \font \sixrm        = mtr7
  217. \font \sixbf        = mtbx7
  218. \font \sixi        = mtmi7
  219. \font \sixsy        = mtsy7
  220. \font \sixmib        = mtmib10 at 7pt
  221. \font \sixssbf        = mtssbx10 at 7pt
  222. \font \sixxm        = msxm7
  223. \font \sixym        = msym7
  224.  
  225. \font \sevenrm        = mtr8
  226. \font \sevenbf        = mtbx8
  227. \font \seveni        = mtmi8
  228. \font \sevensy        = mtsy8
  229. \font \sevenmib        = mtmib10 at 8pt
  230. \font \sevenssbf    = mtssbx10 at 8pt
  231. \font \sevenxm        = msxm8
  232. \font \sevenym        = msym8
  233.  
  234. \font \eightrm        = mtr9                % Small size
  235. \font \eightbf        = mtbx9
  236. \font \eightsl        = mtsl9
  237. \font \eightit        = mtti9
  238. \font \eighttt        = mttt9
  239. \font \eighti        = mtmi9
  240. \font \eightsy        = mtsy9
  241. \font \eightmib        = mtmib10 at 9pt
  242. \font \eightbsy        = mtbsy10 at 9pt
  243. \font \eightxm        = msxm9
  244. \font \eightym        = msym9
  245.  
  246. \font \tenrm        = mtr10 at 11pt            % Normal size
  247. \font \tenbf        = mtbx10 at 11pt
  248. \font \tenit        = mtti10 at 11pt
  249. \font \tentt        = mttt10 at 11pt
  250. \font \teni        = mtmi10 at 11pt
  251. \font \tensy        = mtsy10 at 11pt
  252. \font \tenmib        = mtmib10 at 11pt
  253. \font \tenssbf        = mtssbx10 at 11pt
  254. \font \tenbsy        = mtbsy10 at 11pt
  255. \font \tenex        = mtex10
  256. \font \tenxm        = msxm10 at 11pt
  257. \font \tenym        = msym10 at 11pt
  258.  
  259. \font \twlfbf        = mtbx12            % Subtitle
  260. \font \twlfbxti        = mtbxti10 at 12pt
  261. \font \twlfmib        = mtmib10 at 12pt
  262. \font \twlfbsy        = mtbsy10 at 12pt
  263. \font \twlfxm        = msxm10 at 12pt
  264. \font \twlfym        = msym10 at 12pt
  265.  
  266. \font \logobf        = mtbx10 at 14pt        % Journal Logo Font
  267.  
  268. \font \sxtnbf        = mtbx12 at 17pt        % Main title
  269. \font \sxtnti        = mtti12 at 17pt
  270. \font \sxtnbxti        = mtbxti10 at 17pt
  271. \font \sxtnmib        = mtmib10 at 17pt
  272. \font \sxtnbsy        = mtbsy10 at 17pt
  273. \font \sxtnxm        = msxm10 at 17pt
  274. \font \sxtnym        = msym10 at 17pt
  275. \fi
  276.  
  277. % End of included file: fontb.tex
  278. % Begin of included file: famb.tex
  279. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  280. %% Springer macro file: Part famb.tex Version 1.4 (10/16/90) ERI
  281. %-------------------------------------------------------
  282. % AMSTeX families
  283.  
  284. \newfam\msxfam
  285. \newfam\msyfam
  286.  
  287. %-------------------------------------------------------
  288. %%    main title families:
  289. \def\sxtnbfpoint{%
  290. \textfont0=\sxtnbf  \scriptfont0=\twlfbf    \scriptscriptfont0=\eightbf%
  291. \textfont1=\sxtnmib \scriptfont1=\twlfmib   \scriptscriptfont1=\eightmib%
  292. \textfont2=\sxtnbsy \scriptfont2=\twlfbsy   \scriptscriptfont2=\eightbsy%
  293. \textfont3=\tenex   \scriptfont3=\tenex    \scriptscriptfont3=\tenex%
  294. \textfont\msxfam=\sxtnxm \scriptfont\msxfam=\twlfxm \scriptscriptfont\msxfam=\eightxm%
  295. \textfont\msyfam=\sxtnym \scriptfont\msyfam=\twlfym \scriptscriptfont\msyfam=\eightym%
  296. %
  297. \def\spf{\sxtnspf}%
  298. \def\it{\fam\itfam\sxtnbxti}%
  299. \textfont\itfam=\sxtnbxti%
  300.     \baselineskip=18dd%
  301.     \lineskip=1dd%
  302.     \sxtnbf%
  303. }
  304. %-------------------------------------------------------
  305. %%    head note family:
  306. \def\sxtntipoint{\sxtnti%
  307. \normalbaselineskip=18dd
  308. \normallineskip=1dd
  309. \normallineskiplimit=0dd
  310. }
  311. %-------------------------------------------------------
  312. %%    Subtitle family:
  313. \def\twlfbfpoint{%
  314. \textfont0=\twlfbf  \scriptfont0=\eightbf  \scriptscriptfont0=\sixbf%
  315. \textfont1=\twlfmib \scriptfont1=\eightmib \scriptscriptfont1=\sixmib%
  316. %
  317. \def\spf{\twlfspf}%
  318. \def\it{\fam\itfam\twlfbxti}%
  319. \textfont\itfam=\twlfbxti%
  320.     \baselineskip=14dd%
  321.     \lineskip=1dd%
  322.     \twlfbf%
  323. }
  324. %-------------------------------------------------------
  325. %%    title families:
  326. \def\tenbfpoint{%
  327. \def\spf{\tenspf}%
  328. \textfont1=\tenmib \scriptfont1=\sevenmib \scriptscriptfont1=\sixmib%
  329. \tenpoint\bf%
  330. }%
  331. %
  332. %-------------------------------------------------------
  333. %%    10pt families:
  334. \def\tenpoint{%\Xfsize}%
  335. \def\rm{\fam0\tenrm}%    normal size
  336. \textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\sixrm%
  337. \textfont1=\teni  \scriptfont1=\seveni  \scriptscriptfont1=\sixi%
  338. \textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\sixsy%
  339. \textfont\msxfam=\tenxm \scriptfont\msxfam=\sevenxm \scriptscriptfont\msxfam=\sixxm
  340. \textfont\msyfam=\tenym \scriptfont\msyfam=\sevenym \scriptscriptfont\msyfam=\sixym
  341. \def\spf{\tenspf}%
  342. \def\it{\fam\itfam\tenit}%
  343. \textfont\itfam=\tenit%
  344. \def\bf{\fam\bffam\tenbf}%
  345. \textfont\bffam=\tenbf%
  346. \def\tt{\fam\ttfam\tentt}%
  347. \textfont\ttfam=\tentt%
  348. \def\mib{tenmib}%
  349. %
  350. \normalbaselineskip=10.5dd
  351. \normallineskip=1dd
  352. \normallineskiplimit=0dd
  353. %
  354. \if Y\REFEREE \baselineskip=2\baselineskip
  355. \lineskip=2\lineskip\fi
  356. %
  357. \normalbaselines\rm}
  358.  
  359. %-------------------------------------------------------
  360. %%    petit families:
  361. \def\eightpoint{%
  362. \def\rm{\fam0\eightrm}%    petit size
  363. \textfont0=\eightrm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm%
  364. \textfont1=\eighti  \scriptfont1=\sixi  \scriptscriptfont1=\fivei%
  365. \textfont2=\eightsy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy%
  366. \textfont\msxfam=\eightxm \scriptfont\msxfam=\sixxm \scriptscriptfont\msxfam=\fivexm
  367. \textfont\msyfam=\eightym \scriptfont\msyfam=\sixym \scriptscriptfont\msyfam=\fiveym
  368. \def\it{\fam\itfam\eightit}%
  369. \textfont\itfam=\eightit%
  370. \def\sl{\fam\slfam\eightsl}%
  371. \textfont\slfam=\eightsl%
  372. \def\bf{\fam\bffam\eightbf}%
  373. \textfont\bffam=\eightbf \scriptfont\bffam=\sixbf%
  374. \scriptscriptfont\bffam=\fivebf%
  375. \def\tt{\fam\ttfam\eighttt}%
  376. \textfont\ttfam=\eighttt%
  377. \def\mib{\eightmib}%
  378. \def\spf{\eightspf}%
  379. %
  380. % this part included by Springer.-Verlag, Binding
  381. \def\sc{\egroup\hbox\bgroup\eightsc }%
  382. % end of included part
  383. %
  384. %
  385. \skewchar\eighti='177  \skewchar\sixi='177%
  386. \skewchar\eightsy='60  \skewchar\sixsy='60%
  387. \hyphenchar\eighttt=-1%
  388. %
  389. \normalbaselineskip=9dd%
  390. \normallineskip=1dd%
  391. \if Y\REFEREE \baselineskip=2\baselineskip
  392. \lineskip=2\lineskip\fi
  393. \setbox\strutbox=\hbox{\vrule height7dd depth2dd width0pt}%
  394.  \normalbaselines\rm}%
  395.  
  396. \def\petit{\eightpoint}
  397. \def\basesize{\tenpoint}
  398. \def\begpet{\vskip6pt\petit}%        begin of a paragraph in petit
  399. \def\endpet{\vskip6pt\basesize}%    end of a paragraph in petit
  400.  
  401. %-------------------------------------------------------
  402. %%    footnote families:
  403. \def\footfont{\eightpoint}
  404. % End of included file: famb.tex
  405. %
  406. % this part included by Springer.-Verlag
  407. \def\sc{\egroup\hbox\bgroup\tensc }
  408. % end of included part
  409. %
  410. % Begin of included file: charb.tex
  411. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  412. %% Springer macro file: Part charb.tex Version 1.4 (10/16/90) ERI
  413. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  414. %%    mathchar definitions:
  415. %%
  416.   \mathchardef\Gamma="0100
  417.   \mathchardef\Delta="0101
  418.   \mathchardef\Theta="0102
  419.   \mathchardef\Lambda="0103
  420.   \mathchardef\Xi="0104
  421.   \mathchardef\Pi="0105
  422.   \mathchardef\Sigma="0106
  423.   \mathchardef\Upsilon="0107
  424.   \mathchardef\Phi="0108
  425.   \mathchardef\Psi="0109
  426.   \mathchardef\Omega="010A
  427. %-------------------------------------------------------------------------------
  428. %%
  429. \def\opdefa#1#2#3{\expandafter\gdef\csname #1\endcsname{\mathrel{\mathchoice
  430.     {\vcenter{\offinterlineskip\halign{\hfil$\displaystyle     ####$\hfil\cr{#2}\cr{#3}\cr}}}
  431.     {\vcenter{\offinterlineskip\halign{\hfil$\textstyle        ####$\hfil\cr{#2}\cr{#3}\cr}}}
  432.     {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle      ####$\hfil\cr{#2}\cr{#3}\cr}}}
  433.     {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle####$\hfil\cr{#2}\cr{#3}\cr}}}}}
  434. }
  435. \def\opdefb#1#2#3#4{\expandafter\gdef\csname #1\endcsname{\mathrel{\mathchoice
  436.     {\vcenter{\offinterlineskip\halign{\hfil$\displaystyle     ####$\hfil\cr{#2}\cr #3\cr{#4}\cr}}}
  437.     {\vcenter{\offinterlineskip\halign{\hfil$\textstyle        ####$\hfil\cr{#2}\cr #3\cr{#4}\cr}}}
  438.     {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle      ####$\hfil\cr{#2}\cr #3\cr{#4}\cr}}}
  439.     {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle####$\hfil\cr{#2}\cr #3\cr{#4}\cr}}}}}
  440. }
  441. \opdefa{la}{<}{\sim}
  442. \opdefa{ga}{>}{\sim}
  443. \opdefa{getsto}{\gets}{\to}
  444. \opdefa{lid}{<}{=}
  445. \opdefa{gid}{>}{=}
  446. \opdefa{sol}{\sim}{<}
  447. \opdefa{sog}{\sim}{>}
  448. \opdefa{lse}{<}{\simeq}
  449. \opdefa{gse}{>}{\simeq}
  450. \opdefb{grole}{>}{\noalign{\vskip -0.15em}}{<}
  451. \opdefb{leogr}{<}{\noalign{\vskip -0.15em}}{>}
  452. \opdefa{loa}{<}{\approx}
  453. \opdefa{goa}{>}{\approx}
  454. %%
  455. \def\sun{\hbox{$\odot$}}
  456. \def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}}
  457. \def\degr{\hbox{$^\circ$}}
  458. \def\arcmin{\hbox{$^\prime$}}
  459. \def\arcsec{\hbox{$^{\prime\prime}$}}
  460. \def\utw{\smash{\rlap{\lower5pt\hbox{$\sim$}}}}
  461. \def\udtw{\smash{\rlap{\lower6pt\hbox{$\approx$}}}}
  462. \def\fd{\hbox{$.\!\!^{\rm d}$}}
  463. \def\fh{\hbox{$.\!\!^{\rm h}$}}
  464. \def\fm{\hbox{$.\!\!^{\rm m}$}}
  465. \def\fs{\hbox{$.\!\!^{\rm s}$}}
  466. \def\fdg{\hbox{$.\!\!^\circ$}}
  467. \def\farcm{\hbox{$.\mkern-4mu^\prime$}}
  468. \def\farcs{\hbox{$.\!\!^{\prime\prime}$}}
  469. \def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}}
  470. \def\cor{\mathrel{\mathchoice
  471.     {\hbox{$\widehat=$}}{\hbox{$\widehat=$}}
  472.     {\hbox{$\scriptstyle\hat=$}}
  473.     {\hbox{$\scriptscriptstyle\hat=$}}}}
  474. \def\diameter{{\ifmmode\mathchoice
  475.     {\ooalign{\hfil\hbox{$\displaystyle/$}\hfil\crcr
  476.         {\hbox{$\displaystyle\mathchar"20D$}}}}
  477.     {\ooalign{\hfil\hbox{$\textstyle/$}\hfil\crcr
  478.         {\hbox{$\textstyle\mathchar"20D$}}}}
  479.     {\ooalign{\hfil\hbox{$\scriptstyle/$}\hfil\crcr
  480.         {\hbox{$\scriptstyle\mathchar"20D$}}}}
  481.     {\ooalign{\hfil\hbox{$\scriptscriptstyle/$}\hfil\crcr
  482.         {\hbox{$\scriptscriptstyle\mathchar"20D$}}}}
  483.     \else{\ooalign{\hfil/\hfil\crcr\mathhexbox20D}}%
  484. \fi
  485. }}
  486. \def\solidqed{\quad\vbox{\hrule height 0.65em width 0.65em depth 0em}}%
  487. \catcode`\@=11
  488. \def\q@d{\quad{\vcenter{\vbox{\hrule height 0.25pt%
  489.     \hbox{\vrule width 0.25pt height 0.65em \kern 0.65em%
  490.     \vrule width 0.25pt}%
  491.     \hrule height 0.25pt}}}}%
  492. \def\qed{\ifmmode\q@d \else$\q@d$\fi}%
  493. \catcode`\@=12
  494. %-------------------------------------------------------------------------------
  495. % Macros for other sizes
  496. %-------------------------------------------------------------------
  497. %%
  498. %%
  499. \def\vec#1{{%
  500. \textfont0=\tenbf  \scriptfont0=\sevenbf  \scriptscriptfont0=\sixbf%
  501. \textfont1=\tenmib \scriptfont1=\sevenmib \scriptscriptfont1=\sixmib%
  502. \mathchoice{\hbox{$\displaystyle#1$}}{\hbox{$\textstyle#1$}}%
  503. {\hbox{$\scriptstyle#1$}}{\hbox{$\scriptscriptstyle#1$}}}}%
  504.  
  505. \def\tens#1{{%
  506. \textfont0=\tenssbf  \scriptfont0=\sevenssbf  \scriptscriptfont0=\sixssbf%
  507. \textfont1=\tenssbf \scriptfont1=\sevenssbf \scriptscriptfont1=\sixssbf%
  508. \mathchoice{\hbox{$\displaystyle#1$}}{\hbox{$\textstyle#1$}}%
  509. {\hbox{$\scriptstyle#1$}}{\hbox{$\scriptscriptstyle#1$}}}}%
  510.  
  511. %%%%%%  black boxes
  512. %-----------------------------------------------------------------
  513. \def\blackquad{\leavevmode%
  514.   \kern0.05em\vrule height0.7em depth0.2em width0.4em%
  515.   \kern0.1em\vrule height0.7em depth0.2em width0.4em%
  516.   \kern0.1em\vrule height0.7em depth0.2em width0.4em\kern0.05em}%
  517. \def\refblock{\blackquad--\blackquad}
  518. %
  519.  
  520. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  521. %%    AMSTeX Characters
  522. %%
  523. \catcode`\@=11
  524. \mathchardef\Gamma="0000
  525. \mathchardef\Delta="0001
  526. \mathchardef\Theta="0002
  527. \mathchardef\Lambda="0003
  528. \mathchardef\Xi="0004
  529. \mathchardef\Pi="0005
  530. \mathchardef\Sigma="0006
  531. \mathchardef\Upsilon="0007
  532. \mathchardef\Phi="0008
  533. \mathchardef\Psi="0009
  534. \mathchardef\Omega="000A
  535. \mathchardef\varGamma="0100
  536. \mathchardef\varDelta="0101
  537. \mathchardef\varTheta="0102
  538. \mathchardef\varLambda="0103
  539. \mathchardef\varXi="0104
  540. \mathchardef\varPi="0105
  541. \mathchardef\varSigma="0106
  542. \mathchardef\varUpsilon="0107
  543. \mathchardef\varPhi="0108
  544. \mathchardef\varPsi="0109
  545. \mathchardef\varOmega="010A
  546. \def\hexnumber@#1{\ifcase#1 0\or1\or2\or3\or4\or5\or6\or7\or8\or9\or
  547.  A\or B\or C\or D\or E\or F\fi}
  548. \edef\bffam@{\hexnumber@\bffam}
  549. \mathchardef\boldGamma="0\bffam@00
  550. \mathchardef\boldDelta="0\bffam@01
  551. \mathchardef\boldTheta="0\bffam@02
  552. \mathchardef\boldLambda="0\bffam@03
  553. \mathchardef\boldXi="0\bffam@04
  554. \mathchardef\boldPi="0\bffam@05
  555. \mathchardef\boldSigma="0\bffam@06
  556. \mathchardef\boldUpsilon="0\bffam@07
  557. \mathchardef\boldPhi="0\bffam@08
  558. \mathchardef\boldPsi="0\bffam@09
  559. \mathchardef\boldOmega="0\bffam@0A
  560. \edef\msx@{\hexnumber@\msxfam}
  561. \edef\msy@{\hexnumber@\msyfam}
  562. \mathchardef\boxdot="2\msx@00
  563. \mathchardef\boxplus="2\msx@01
  564. \mathchardef\boxtimes="2\msx@02
  565. \mathchardef\square="0\msx@03
  566. \mathchardef\blacksquare="0\msx@04
  567. \mathchardef\centerdot="2\msx@05
  568. \mathchardef\lozenge="0\msx@06
  569. \mathchardef\blacklozenge="0\msx@07
  570. \mathchardef\circlearrowright="3\msx@08
  571. \mathchardef\circlearrowleft="3\msx@09
  572. %\mathchardef\rightleftharpoons="3\msx@0A
  573. \mathchardef\leftrightharpoons="3\msx@0B
  574. \mathchardef\boxminus="2\msx@0C
  575. \mathchardef\Vdash="3\msx@0D
  576. \mathchardef\Vvdash="3\msx@0E
  577. \mathchardef\vDash="3\msx@0F
  578. \mathchardef\twoheadrightarrow="3\msx@10
  579. \mathchardef\twoheadleftarrow="3\msx@11
  580. \mathchardef\leftleftarrows="3\msx@12
  581. \mathchardef\rightrightarrows="3\msx@13
  582. \mathchardef\upuparrows="3\msx@14
  583. \mathchardef\downdownarrows="3\msx@15
  584. \mathchardef\upharpoonright="3\msx@16
  585. \let\restriction\upharpoonright
  586. \mathchardef\downharpoonright="3\msx@17
  587. \mathchardef\upharpoonleft="3\msx@18
  588. \mathchardef\downharpoonleft="3\msx@19
  589. \mathchardef\rightarrowtail="3\msx@1A
  590. \mathchardef\leftarrowtail="3\msx@1B
  591. \mathchardef\leftrightarrows="3\msx@1C
  592. \mathchardef\rightleftarrows="3\msx@1D
  593. \mathchardef\Lsh="3\msx@1E
  594. \mathchardef\Rsh="3\msx@1F
  595. \mathchardef\rightsquigarrow="3\msx@20
  596. \mathchardef\leftrightsquigarrow="3\msx@21
  597. \mathchardef\looparrowleft="3\msx@22
  598. \mathchardef\looparrowright="3\msx@23
  599. \mathchardef\circeq="3\msx@24
  600. \mathchardef\succsim="3\msx@25
  601. \mathchardef\gtrsim="3\msx@26
  602. \mathchardef\gtrapprox="3\msx@27
  603. \mathchardef\multimap="3\msx@28
  604. \mathchardef\therefore="3\msx@29
  605. \mathchardef\because="3\msx@2A
  606. \mathchardef\doteqdot="3\msx@2B
  607. \let\Doteq\doteqdot
  608. \mathchardef\triangleq="3\msx@2C
  609. \mathchardef\precsim="3\msx@2D
  610. \mathchardef\lesssim="3\msx@2E
  611. \mathchardef\lessapprox="3\msx@2F
  612. \mathchardef\eqslantless="3\msx@30
  613. \mathchardef\eqslantgtr="3\msx@31
  614. \mathchardef\curlyeqprec="3\msx@32
  615. \mathchardef\curlyeqsucc="3\msx@33
  616. \mathchardef\preccurlyeq="3\msx@34
  617. \mathchardef\leqq="3\msx@35
  618. \mathchardef\leqslant="3\msx@36
  619. \mathchardef\lessgtr="3\msx@37
  620. \mathchardef\backprime="0\msx@38
  621. \mathchardef\risingdotseq="3\msx@3A
  622. \mathchardef\fallingdotseq="3\msx@3B
  623. \mathchardef\succcurlyeq="3\msx@3C
  624. \mathchardef\geqq="3\msx@3D
  625. \mathchardef\geqslant="3\msx@3E
  626. \mathchardef\gtrless="3\msx@3F
  627. \mathchardef\sqsubset="3\msx@40
  628. \mathchardef\sqsupset="3\msx@41
  629. \mathchardef\vartriangleright="3\msx@42
  630. \mathchardef\vartriangleleft ="3\msx@43
  631. \mathchardef\trianglerighteq="3\msx@44
  632. \mathchardef\trianglelefteq="3\msx@45
  633. \mathchardef\bigstar="0\msx@46
  634. \mathchardef\between="3\msx@47
  635. \mathchardef\blacktriangledown="0\msx@48
  636. \mathchardef\blacktriangleright="3\msx@49
  637. \mathchardef\blacktriangleleft="3\msx@4A
  638. \mathchardef\vartriangle="0\msx@4D
  639. \mathchardef\blacktriangle="0\msx@4E
  640. \mathchardef\triangledown="0\msx@4F
  641. \mathchardef\eqcirc="3\msx@50
  642. \mathchardef\lesseqgtr="3\msx@51
  643. \mathchardef\gtreqless="3\msx@52
  644. \mathchardef\lesseqqgtr="3\msx@53
  645. \mathchardef\gtreqqless="3\msx@54
  646. \mathchardef\Rrightarrow="3\msx@56
  647. \mathchardef\Lleftarrow="3\msx@57
  648. \mathchardef\veebar="2\msx@59
  649. \mathchardef\barwedge="2\msx@5A
  650. \mathchardef\doublebarwedge="2\msx@5B
  651. %\mathchardef\angle="0\msx@5C
  652. \mathchardef\measuredangle="0\msx@5D
  653. \mathchardef\sphericalangle="0\msx@5E
  654. \mathchardef\varpropto="3\msx@5F
  655. \mathchardef\smallsmile="3\msx@60
  656. \mathchardef\smallfrown="3\msx@61
  657. \mathchardef\Subset="3\msx@62
  658. \mathchardef\Supset="3\msx@63
  659. \mathchardef\Cup="2\msx@64
  660. \let\doublecup\Cup
  661. \mathchardef\Cap="2\msx@65
  662. \let\doublecap\Cap
  663. \mathchardef\curlywedge="2\msx@66
  664. \mathchardef\curlyvee="2\msx@67
  665. \mathchardef\leftthreetimes="2\msx@68
  666. \mathchardef\rightthreetimes="2\msx@69
  667. \mathchardef\subseteqq="3\msx@6A
  668. \mathchardef\supseteqq="3\msx@6B
  669. \mathchardef\bumpeq="3\msx@6C
  670. \mathchardef\Bumpeq="3\msx@6D
  671. \mathchardef\lll="3\msx@6E
  672. \let\llless\lll
  673. \mathchardef\ggg="3\msx@6F
  674. \let\gggtr\ggg
  675. \mathchardef\circledS="0\msx@73
  676. \mathchardef\pitchfork="3\msx@74
  677. \mathchardef\dotplus="2\msx@75
  678. \mathchardef\backsim="3\msx@76
  679. \mathchardef\backsimeq="3\msx@77
  680. \mathchardef\complement="0\msx@7B
  681. \mathchardef\intercal="2\msx@7C
  682. \mathchardef\circledcirc="2\msx@7D
  683. \mathchardef\circledast="2\msx@7E
  684. \mathchardef\circleddash="2\msx@7F
  685. \def\ulcorner{\delimiter"4\msx@70\msx@70 }
  686. \def\urcorner{\delimiter"5\msx@71\msx@71 }
  687. \def\llcorner{\delimiter"4\msx@78\msx@78 }
  688. \def\lrcorner{\delimiter"5\msx@79\msx@79 }
  689. \def\yen{{\mathhexbox@\msx@55 }}
  690. \def\checkmark{{\mathhexbox@\msx@58 }}
  691. \def\circledR{{\mathhexbox@\msx@72 }}
  692. \def\maltese{{\mathhexbox@\msx@7A }}
  693. \mathchardef\lvertneqq="3\msy@00
  694. \mathchardef\gvertneqq="3\msy@01
  695. \mathchardef\nleq="3\msy@02
  696. \mathchardef\ngeq="3\msy@03
  697. \mathchardef\nless="3\msy@04
  698. \mathchardef\ngtr="3\msy@05
  699. \mathchardef\nprec="3\msy@06
  700. \mathchardef\nsucc="3\msy@07
  701. \mathchardef\lneqq="3\msy@08
  702. \mathchardef\gneqq="3\msy@09
  703. \mathchardef\nleqslant="3\msy@0A
  704. \mathchardef\ngeqslant="3\msy@0B
  705. \mathchardef\lneq="3\msy@0C
  706. \mathchardef\gneq="3\msy@0D
  707. \mathchardef\npreceq="3\msy@0E
  708. \mathchardef\nsucceq="3\msy@0F
  709. \mathchardef\precnsim="3\msy@10
  710. \mathchardef\succnsim="3\msy@11
  711. \mathchardef\lnsim="3\msy@12
  712. \mathchardef\gnsim="3\msy@13
  713. \mathchardef\nleqq="3\msy@14
  714. \mathchardef\ngeqq="3\msy@15
  715. \mathchardef\precneqq="3\msy@16
  716. \mathchardef\succneqq="3\msy@17
  717. \mathchardef\precnapprox="3\msy@18
  718. \mathchardef\succnapprox="3\msy@19
  719. \mathchardef\lnapprox="3\msy@1A
  720. \mathchardef\gnapprox="3\msy@1B
  721. \mathchardef\nsim="3\msy@1C
  722. %\mathchardef\napprox="3\msy@1D
  723. \mathchardef\ncong="3\msy@1D
  724. \def\napprox{\not\approx}
  725. \mathchardef\varsubsetneq="3\msy@20
  726. \mathchardef\varsupsetneq="3\msy@21
  727. \mathchardef\nsubseteqq="3\msy@22
  728. \mathchardef\nsupseteqq="3\msy@23
  729. \mathchardef\subsetneqq="3\msy@24
  730. \mathchardef\supsetneqq="3\msy@25
  731. \mathchardef\varsubsetneqq="3\msy@26
  732. \mathchardef\varsupsetneqq="3\msy@27
  733. \mathchardef\subsetneq="3\msy@28
  734. \mathchardef\supsetneq="3\msy@29
  735. \mathchardef\nsubseteq="3\msy@2A
  736. \mathchardef\nsupseteq="3\msy@2B
  737. \mathchardef\nparallel="3\msy@2C
  738. \mathchardef\nmid="3\msy@2D
  739. \mathchardef\nshortmid="3\msy@2E
  740. \mathchardef\nshortparallel="3\msy@2F
  741. \mathchardef\nvdash="3\msy@30
  742. \mathchardef\nVdash="3\msy@31
  743. \mathchardef\nvDash="3\msy@32
  744. \mathchardef\nVDash="3\msy@33
  745. \mathchardef\ntrianglerighteq="3\msy@34
  746. \mathchardef\ntrianglelefteq="3\msy@35
  747. \mathchardef\ntriangleleft="3\msy@36
  748. \mathchardef\ntriangleright="3\msy@37
  749. \mathchardef\nleftarrow="3\msy@38
  750. \mathchardef\nrightarrow="3\msy@39
  751. \mathchardef\nLeftarrow="3\msy@3A
  752. \mathchardef\nRightarrow="3\msy@3B
  753. \mathchardef\nLeftrightarrow="3\msy@3C
  754. \mathchardef\nleftrightarrow="3\msy@3D
  755. \mathchardef\divideontimes="2\msy@3E
  756. \mathchardef\varnothing="0\msy@3F
  757. \mathchardef\nexists="0\msy@40
  758. \mathchardef\mho="0\msy@66
  759. \mathchardef\eth="0\msy@67
  760. \mathchardef\eqsim="3\msy@68
  761. \mathchardef\beth="0\msy@69
  762. \mathchardef\gimel="0\msy@6A
  763. \mathchardef\daleth="0\msy@6B
  764. \mathchardef\lessdot="3\msy@6C
  765. \mathchardef\gtrdot="3\msy@6D
  766. \mathchardef\ltimes="2\msy@6E
  767. \mathchardef\rtimes="2\msy@6F
  768. \mathchardef\shortmid="3\msy@70
  769. \mathchardef\shortparallel="3\msy@71
  770. \mathchardef\smallsetminus="2\msy@72
  771. \mathchardef\thicksim="3\msy@73
  772. \mathchardef\thickapprox="3\msy@74
  773. \mathchardef\approxeq="3\msy@75
  774. \mathchardef\succapprox="3\msy@76
  775. \mathchardef\precapprox="3\msy@77
  776. \mathchardef\curvearrowleft="3\msy@78
  777. \mathchardef\curvearrowright="3\msy@79
  778. \mathchardef\digamma="0\msy@7A
  779. \mathchardef\varkappa="0\msy@7B
  780. \mathchardef\hslash="0\msy@7D
  781. %\mathchardef\hbar="0\msy@7E
  782. \mathchardef\backepsilon="3\msy@7F
  783. %
  784. % The following definition is more elaborated in AMS-TeX. Why?
  785. %
  786. \def\Bbb#1{\relax\ifmmode{\fam\msyfam #1}\else$\fam\msyfam #1$\fi}
  787. %
  788. % the following definitions are supplemented 05.10.90:
  789. %
  790. %has to be written outside if:
  791. \newfam\sansfam
  792. %
  793. \ifx 1\FONTS
  794.     % Definition of fonts for the blackboard bold characters
  795.     \font \tensans                = cmss10
  796.     \font \fivesans               = cmss10 at 5pt
  797.     \font \sixsans                = cmss10 at 6pt
  798.     \font \sevensans              = cmss10 at 7pt
  799.     \font \ninesans               = cmss10 at 9pt
  800.     \textfont\sansfam=\tensans\scriptfont\sansfam=\sevensans
  801.     \scriptscriptfont\sansfam=\fivesans
  802.     \def\sans{\fam\sansfam\tensans}
  803.     %-----------------------------------------------------------------------
  804.     % Definition of the blackboard bold characters
  805.     \def\bbbr{{\rm I\!R}} %reelle Zahlen
  806.     \def\bbbm{{\rm I\!M}}
  807.     \def\bbbn{{\rm I\!N}} %natuerliche Zahlen
  808.     \def\bbbf{{\rm I\!F}}
  809.     \def\bbbh{{\rm I\!H}}
  810.     \def\bbbk{{\rm I\!K}}
  811.     \def\bbbp{{\rm I\!P}}
  812.     \def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l}
  813.     {\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}}
  814.     \def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox
  815.     to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
  816.     {\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox
  817.     to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
  818.     {\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox
  819.     to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
  820.     {\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox
  821.     to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}}
  822.     \def\bbbe{{\mathchoice {\setbox0=\hbox{\smalletextfont e}\hbox{\raise
  823.     0.1\ht0\hbox to0pt{\kern0.4\wd0\vrule width0.3pt height0.7\ht0\hss}\box0}}
  824.     {\setbox0=\hbox{\smalletextfont e}\hbox{\raise
  825.     0.1\ht0\hbox to0pt{\kern0.4\wd0\vrule width0.3pt height0.7\ht0\hss}\box0}}
  826.     {\setbox0=\hbox{\smallescriptfont e}\hbox{\raise
  827.     0.1\ht0\hbox to0pt{\kern0.5\wd0\vrule width0.2pt height0.7\ht0\hss}\box0}}
  828.     {\setbox0=\hbox{\smallescriptscriptfont e}\hbox{\raise
  829.     0.1\ht0\hbox to0pt{\kern0.4\wd0\vrule width0.2pt height0.7\ht0\hss}\box0}}}}
  830.     \def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm Q$}\hbox{\raise
  831.     0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
  832.     {\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise
  833.     0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
  834.     {\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise
  835.     0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}
  836.     {\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise
  837.     0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}}
  838.     \def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
  839.     T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
  840.     {\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox
  841.     to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
  842.     {\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox
  843.     to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
  844.     {\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox
  845.     to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}}
  846.     \def\bbbs{{\mathchoice
  847.     {\setbox0=\hbox{$\displaystyle     \rm S$}\hbox{\raise0.5\ht0\hbox
  848.     to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
  849.     to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
  850.     {\setbox0=\hbox{$\textstyle        \rm S$}\hbox{\raise0.5\ht0\hbox
  851.     to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
  852.     to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
  853.     {\setbox0=\hbox{$\scriptstyle      \rm S$}\hbox{\raise0.5\ht0\hbox
  854.     to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
  855.     to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}}
  856.     {\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox
  857.     to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
  858.     to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}}
  859.     \def\bbbz{{\mathchoice {\hbox{$\sans\textstyle Z\kern-0.4em Z$}}
  860.     {\hbox{$\sans\textstyle Z\kern-0.4em Z$}}
  861.     {\hbox{$\sans\scriptstyle Z\kern-0.3em Z$}}
  862.     {\hbox{$\sans\scriptscriptstyle Z\kern-0.2em Z$}}}}
  863.     %
  864.     %-------------------------------------------------------------------
  865. \fi
  866. \ifx 2\FONTS
  867.     \def\bbbr{\Bbb R}
  868.     \def\bbbm{\Bbb M}
  869.     \def\bbbn{\Bbb N}
  870.     \def\bbbf{\Bbb F}
  871.     \def\bbbh{\Bbb H}
  872.     \def\bbbk{\Bbb K}
  873.     \def\bbbp{\Bbb P}
  874.     \def\bbbc{\Bbb C}
  875.     \def\bbbe{\Bbb E}
  876.     \def\bbbq{\Bbb Q}
  877.     \def\bbbt{\Bbb T}
  878.     \def\bbbs{\Bbb S}
  879.     \def\bbbz{\Bbb Z}
  880.     \message{bbbone not supplied in this font-version}
  881. \fi
  882. \ifx 3\FONTS
  883.     \def\bbbr{\Bbb R}
  884.     \def\bbbm{\Bbb M}
  885.     \def\bbbn{\Bbb N}
  886.     \def\bbbf{\Bbb F}
  887.     \def\bbbh{\Bbb H}
  888.     \def\bbbk{\Bbb K}
  889.     \def\bbbp{\Bbb P}
  890.     \def\bbbc{\Bbb C}
  891.     \def\bbbe{\Bbb E}
  892.     \def\bbbq{\Bbb Q}
  893.     \def\bbbt{\Bbb T}
  894.     \def\bbbs{\Bbb S}
  895.     \def\bbbz{\Bbb Z}
  896.     \def\bbbone{{\hbox{\spf 1}}}
  897. \fi
  898.     
  899.  
  900. % End of included file: charb.tex
  901. % Begin of included file: valb.tex
  902. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  903. %% Springer macro file: Part valb.tex Version 1.4 (10/16/90) ERI
  904. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  905. %       GENERAL SETTINGS
  906. %-----------------------------------------------------------------
  907. %%%%%%% helps for arrangement
  908. %-----------------------------------------------------------------
  909. \hfuzz=2pt
  910. \vfuzz=2pt
  911. \tolerance=1000
  912. %        display style formulas narrower:
  913. \abovedisplayskip=3 mm plus6pt minus 4pt
  914. \belowdisplayskip=3 mm plus6pt minus 4pt
  915. \abovedisplayshortskip=0mm plus6pt
  916. \belowdisplayshortskip=2 mm plus4pt minus 4pt
  917. \clubpenalty=20000
  918. \widowpenalty=20000
  919. \predisplaypenalty=0
  920. \newdimen\defaultparindent
  921. \parindent=1.5em
  922. \defaultparindent=\parindent
  923. \frenchspacing
  924. \fontdimen3\tenrm=1.5\fontdimen3\tenrm
  925. \fontdimen7\tenrm=1.5\fontdimen7\tenrm
  926.  
  927. %-----------------------------------------------------------------
  928. %%%%%%% default values
  929. %-----------------------------------------------------------------
  930. \vsize = 630dd
  931. \newdimen\fullhsize
  932. \newdimen\colhsize
  933. \fullhsize=39.5cc
  934. \colhsize=19cc
  935. \hsize=\colhsize
  936. %    ACHTUNG: der folgende Wert kann nicht ohne weiteres verwendet
  937. %    werden, da in twocol.tex topskip=10pt fest verdrahtet!
  938. %    \topskip = 13dd
  939. \newdimen\defaulttopskip    \defaulttopskip=10pt%%changed from: !!11dd
  940. \topskip = \defaulttopskip
  941. \hoffset=-1true cm
  942. \voffset=-1true cm
  943. \def\makefootline{\baselineskip=10dd \fullline{\the\footline}}
  944. \def\makeheadline{\vbox to 0pt{\vskip-22.5pt
  945.             \fullline{\vbox to 8.5pt{}\the\headline}\vss}\nointerlineskip}
  946. \let\lr=Y% two columns
  947. \newbox\leftcolumn
  948. \def\columnbox{\leftline{\pagebody}}
  949.  
  950. %-----------------------------------------------------------------
  951. %    FOOTNOTERULE
  952. %-----------------------------------------------------------------
  953. \def\footnoterule{\kern-3pt\hrule width 4true cc\kern2.6pt}%
  954. %-----------------------------------------------------------------
  955. %%%%%%  new definitions:
  956. %-----------------------------------------------------------------
  957. %
  958. \newdimen\defaultbase       \defaultbase=10.5dd% default baselineskip
  959. \newdimen\vardbase       \vardbase=10.5dd
  960. %
  961. \newdimen\beforeref       \beforeref=2\defaultbase    % references
  962. \newdimen\afterreft       \afterreft=\defaultbase
  963. \newdimen\afterauthor       \afterauthor=6dd
  964. %
  965. \newdimen\defaultrefindent \defaultrefindent=\defaultparindent
  966. \newdimen\letrefindent       \letrefindent=1cc
  967. %
  968. \newdimen\beforeack       \beforeack=\defaultbase    % acknowledgements
  969. \newdimen\beforeapp       \beforeapp=\defaultbase    % appendices
  970. \newdimen\afterappt       \afterappt=0.5\defaultbase    % title appendix
  971. \newdimen\beforeded       \beforeded=\defaultbase    % dedication
  972. \newdimen\afterinst       \afterinst=\defaultbase    % institute
  973. \newdimen\beforekey       \beforekey=\defaultbase
  974. %-----------------------------------------------------------------
  975. %    note: values referring to headlines and titlepage are
  976. %          set with the definitions
  977. %-----------------------------------------------------------------
  978. %    main header: top of page values
  979. %-----------------------------------------------------------------
  980. \newdimen\realhead         % measurement for main header
  981. \realhead=200dd            %
  982. %\realhead=189dd            %
  983. \newdimen\beforemain
  984. \beforemain=3\defaultbase    % main header must not overlap top stuff!!
  985. \newdimen\theshd        % height of thesaurus in
  986. %                  case it doesn't exist
  987. \theshd=50dd
  988. \def\bumarkskip{-0dd}        % minus space for logo
  989. %new: 4.10.90
  990. %changed again by a. Binding 23.11.90
  991. %newdimen\footindent     \footindent=0.66\defaultparindent
  992. \setbox0=\hbox{\newtoks\REFEREE\let\REFEREE=N\footfont
  993. \unskip$\scriptstyle***$\enspace}
  994. \newdimen\footindent     \footindent=\wd0
  995. % End of included file: valb.tex
  996. %
  997. %       possible journal specific redefinitions:
  998. %\def\received{Oblatum}%        Alternate to "Received" (only in English)
  999. \def\summary{Abstract}%        Alternate to "Summary"
  1000. % Begin of included file: langb.tex
  1001. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1002. %% Springer macro file: Part langb.tex Version 1.4 (10/16/90) ERI
  1003. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1004. %    default: English:
  1005.     \ifx\undefined\summary
  1006.         \def\summary{Summary}
  1007.     \else
  1008.         \def\alreadysum{yes}
  1009.     \fi
  1010.     \def\transsummary{Summary\message{why a translation in English text?|}}
  1011.     \ifx\undefined\received
  1012.         \xdef\received{Received}
  1013.     \else
  1014.         \def\alreadyrec{yes}
  1015.     \fi
  1016.     \def\accepted{accepted}
  1017.     \def\revised{revised}%{in revised form}
  1018.     \def\lemma{Lemma}
  1019.     \def\defin{Definition}
  1020.     \def\theorem{Theorem}
  1021.     \def\corollary{Corollary}
  1022.     \def\proof{Proof}
  1023.     \def\example{Example}
  1024.     \def\claim{Claim}
  1025.     \def\prop{Proposition}
  1026.     \def\conjec{Conjecture}
  1027.     \def\noteadd{Note added in proof}
  1028.     \def\appendix{Appendix}
  1029.     \def\acknowledgement{Acknowledgements}
  1030.     \def\references{References}
  1031.     \def\table{Table}
  1032.     \def\figg{Fig.}
  1033. \gdef\french{% to Springer Verlag: please: check it!
  1034.     \ifx\undefined\alreadysum
  1035.         \def\summary{Summary}
  1036.     \fi
  1037.     \def\transsummary{RĂ©sumĂ©}
  1038.     \ifx\undefined\alreadyrec
  1039.         \def\received{Re\c cu}
  1040.     \fi
  1041.     \def\accepted{acceptĂ©}
  1042.     \def\revised{revu}
  1043.     \def\lemma{Lemme}
  1044.     \def\defin{DĂ©finition}
  1045.     \def\theorem{ThĂ©orème}
  1046.     \def\corro{Corrolaire}
  1047.     \def\proof{Épreuve}
  1048.     \def\example{Exemple}
  1049.     \def\claim{PrĂ©tention}
  1050.     \def\prop{Proposition}
  1051.     \def\conjec{Conjecture}
  1052.     \def\noteadd{Note ajoutĂ©e Ă  l'Ă©preuve}
  1053.     \def\appendix{Appendice}
  1054.     \def\acknowledgement{Remerciements}
  1055.     \def\references{Bibliographie}
  1056.     \def\table{Table}
  1057.     \def\figg{Fig.}
  1058. }
  1059. \gdef\german{%
  1060.     \ifx\undefined\alreadysum
  1061.         \xdef\summary{Summary}
  1062.     \fi
  1063.     \def\transsummary{Zusammenfassung}
  1064.     \ifx\undefined\alredyrec
  1065.         \xdef\received{Erhalten}
  1066.     \fi
  1067.     \def\accepted{angenommen}
  1068.     \def\revised{revidiert}
  1069.     \def\lemma{Lemma}
  1070.     \def\defin{Definition}
  1071.     \def\theorem{Theorem}
  1072.     \def\corro{Korrolar}
  1073.     \def\proof{Beweis}
  1074.     \def\example{Beispiel}
  1075.     \def\claim{Behauptung}
  1076.     \def\prop{Proposition}
  1077.     \def\conjec{Annahme}
  1078.     \def\noteadd{Nachtrag}
  1079.     \def\appendix{Anhang}
  1080.     \def\acknowledgement{Danksagung}
  1081.     \def\references{Literatur}
  1082.     \def\table{Tab.}
  1083.     \def\figg{Abb.}
  1084. }
  1085. % End of included file: langb.tex
  1086. %\def\bumarkskip{-<number>dd}%  Height of Journal Logo
  1087. %
  1088. % Begin of included file: genb.tex
  1089. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1090. %% Springer macro file: Part genb.tex Version 1.4 (10/16/90) ERI THS
  1091. %-----------------------------------------------------------------
  1092. % redefinition of plain's \item, so it will work after headlines:
  1093. %-----------------------------------------------------------------
  1094. \def\hang{\parindent\defaultparindent\hangindent\parindent}
  1095. \def\textindent#1{\indent\llap{#1\enspace}\ignorespaces}
  1096. \def\item{\par\hang\textindent}
  1097. \def\itemitem{\par\indent \hangindent2\parindent \textindent}
  1098. \def\narrower{\advance\leftskip\defaultparindent
  1099.   \advance\rightskip\defaultparindent}
  1100. \def\fullline{\hbox to\fullhsize}
  1101. \newdimen\fullhead
  1102.  
  1103. %-----------------------------------------------------------------
  1104. %%%%%%%    FORMULA COUNTER
  1105. %-----------------------------------------------------------------
  1106. %     register for generating automatic numbered formulas:
  1107. \newcount\eqnum\eqnum=0
  1108. \def\autnum{\global\advance\eqnum by 1{\rm(\the\eqnum)}}
  1109. % \autnum usage: $$ formula \eqno\autnum$$
  1110. %         or: $$\eqalignno{a&=b&\autnum\cr}$$
  1111. %
  1112. %    EQUATION NUMBERS:
  1113. \ifcase\eqleft\or\let\eqno=\leqno\fi
  1114. \newtoks\eq\newtoks\eqn
  1115. \catcode`\@=11%        !!!!
  1116. \def\eqalign#1{\null\vcenter{\openup\jot\m@th
  1117.   \ialign{\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil
  1118.       \crcr#1\crcr}}}
  1119. \def\displaylines#1{{}$\displ@y
  1120. \hbox{\vbox{\halign{$\@lign\hfil\displaystyle##\hfil$\crcr
  1121.     #1\crcr}}}${}}
  1122. \def\eqalignno#1{{}$\displ@y
  1123.   \hbox{\vbox{\halign to\hsize{\hfil$\@lign\displaystyle{##}$\tabskip\z@skip
  1124.     &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering
  1125.     &\llap{$\@lign##$}\tabskip\z@skip\crcr
  1126.     #1\crcr}}}${}}
  1127. \def\leqalignno#1{{}$\displ@y
  1128. \hbox{\vbox{\halign to\hsize{\qquad\hfil$\@lign\displaystyle{##}$\tabskip\z@skip
  1129.     &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering
  1130.     &\kern-\hsize\rlap{$\@lign##$}\tabskip\hsize\crcr
  1131.     #1\crcr}}}${}}
  1132.  
  1133. \ifcase\eqleft\or\let\eqalignno=\leqalignno\fi
  1134.  
  1135. \def\generaldisplay{%
  1136. \ifeqno
  1137.        \ifleqno\leftline{$\displaystyle\the\eqn\quad\the\eq$}%
  1138.        \else
  1139.     \ifcase\eqleft\line{$\displaystyle\the\eq\hfill\the\eqn$}%
  1140.     \or\leftline{$\displaystyle\the\eqn\quad\the\eq$}%
  1141.     \fi
  1142. \fi
  1143.        %\else\line{$\displaystyle\the\eq\hfill\the\eqn$}\fi
  1144. \else
  1145.        \leftline{$\displaystyle\the\eq$}%
  1146. \fi
  1147. \global\eq={}\global\eqn={}}%
  1148. \newif\ifeqno\newif\ifleqno \everydisplay{\displaysetup}
  1149. \def\displaysetup#1$${\displaytest#1\eqno\eqno\displaytest}
  1150. \def\displaytest#1\eqno#2\eqno#3\displaytest{%
  1151. \if!#3!\ldisplaytest#1\leqno\leqno\ldisplaytest
  1152. \else\eqnotrue\leqnofalse\eqn={#2}\eq={#1}\fi
  1153. \generaldisplay$$}
  1154.  
  1155. \def\ldisplaytest#1\leqno#2\leqno#3\ldisplaytest{\eq={#1}%
  1156. \if!#3!\eqnofalse\else\eqnotrue\leqnotrue\eqn={#2}\fi}
  1157. \catcode`\@=12%        !!! % at signs are no longer letters
  1158. % Math end from aa.dra
  1159. %
  1160. %-----------------------------------------------------------------
  1161. %      PICTURES AND TABLES
  1162. %-----------------------------------------------------------------
  1163. %%%%%% general macros
  1164. %-----------------------------------------------------------------
  1165. \def\frame#1{\vbox{\hrule\line{\vrule\vbox to#1true cm{\vfil}%
  1166.          \hfil\vrule}\hrule}}
  1167. \def\doins#1{\par
  1168.   \ifvoid\topins\midinsert\vbox{#1}\endinsert
  1169.   \else\topinsert\vbox{#1}\endinsert\fi}
  1170. %
  1171. %-----------------------------------------------------------------
  1172. %%%%%% Pictures
  1173. %-----------------------------------------------------------------
  1174. % THS new in sp2
  1175. %\def\begfig#1cm#2\endfig{\doins{\frame{#1}#2}}
  1176. %    picture legends: they appear centered if
  1177. %              text is smaller than one line
  1178. % THS new in sp2 :
  1179. %\def\figure#1#2{\bigskip%
  1180. %  \setbox0=\vbox{\noindent\petit{\bf Fig.\ts#1.\ }%
  1181. %                 \ignorespaces #2\smallskip
  1182. %         \count255=0\global\advance\count255by\prevgraf}%
  1183. %  \ifnum\count255>1\box0\else
  1184. %  \centerline{\petit{\bf \figg\ts#1.\ }\ignorespaces#2}%
  1185. %  \smallskip\fi}
  1186. %
  1187. %-----------------------------------------------------------------
  1188. %%%%%%% Tables
  1189. %-----------------------------------------------------------------
  1190. \def\tabcap#1#2{\smallskip\noindent%
  1191. \bgroup\petit{\bf\table\ts#1.\ }%
  1192.   \ignorespaces #2\smallskip\egroup}
  1193. % THS new in sp2
  1194. %\def\begtab#1cm#2\endtab{\doins{#2\frame{#1}}}
  1195. %
  1196.  
  1197. %-----------------------------------------------------------------
  1198. %       REFERENCES
  1199. %-----------------------------------------------------------------
  1200. %%%%%%% general macros
  1201. %-----------------------------------------------------------------
  1202. \newdimen\refindent
  1203. \def\begrefs{%
  1204.     \par\goodbreak\vskip\beforeref%
  1205.     \basesize\noindent{\bf \references}\par\nobreak\vskip\afterreft
  1206.     \petit\hangindent\refindent\hangafter=1%
  1207.     }
  1208. %    \noindent\ignorespaces\rm }
  1209. \def\refs{\par\goodbreak%
  1210.          \hangindent=\refindent\hangafter=1%
  1211.          \noindent\ignorespaces\rm %
  1212.          }
  1213. \def\endrefs{\goodbreak\endpet}% end of references
  1214. %
  1215. %-----------------------------------------------------------------
  1216. %%%%%%%% references without automatic numbering
  1217. %-----------------------------------------------------------------
  1218. \def\begref{\global\refindent\defaultrefindent\begrefs}
  1219. \let\ref\refs
  1220. \let\endref\endrefs
  1221. %
  1222. %-----------------------------------------------------------------
  1223. %%%%%%%% references with automatic numbering
  1224. %-----------------------------------------------------------------
  1225. \newcount\litno
  1226. \def\beglit{\global\refindent\defaultrefindent%
  1227.         \global\litno=0\begrefs}
  1228. %     call for reference: \lit Thomas Mueller: title ...
  1229. %     --> \par\hangindent ... 23. Thomas Mueller: title ...
  1230. \def\lit{\advance\litno1\refs%
  1231.          \hbox to \refindent{\hfill\the\litno.\kern2pt}\ignorespaces}
  1232. \let\endlit\endrefs
  1233. %
  1234. %-----------------------------------------------------------------
  1235. %%%%%%%% references with letters
  1236. %-----------------------------------------------------------------
  1237. \def\beglet#1{\par%
  1238.         \setbox0=\hbox{#1}%
  1239.         \global\refindent=\wd0\begrefs}
  1240. \def\lett#1{\refs%
  1241.         \setbox0=\hbox{[#1]}%
  1242.         \ifdim\wd0<\refindent%
  1243.             \hbox to \refindent{[#1]\hfill}%
  1244.         \else [#1]\enspace%
  1245.         \fi\ignorespaces%
  1246.           }
  1247. \let\endlet\endrefs
  1248. %
  1249. %-----------------------------------------------------------------
  1250. %%%%%%%    ACKNOWLEDGEMENTS
  1251. %-----------------------------------------------------------------
  1252. \long\def\ack#1{\vskip\beforeack\begpet\noindent%
  1253.   {\it \acknowledgement\/}. \ignorespaces#1\endpet}
  1254. %
  1255. %-----------------------------------------------------------------
  1256. %%%%%%%    APPENDICES
  1257. %-----------------------------------------------------------------
  1258. \def\app#1{\goodbreak\vskip\beforeapp\noindent%
  1259.   {\bf \appendix\ #1}\par\nobreak\vskip\afterappt\noindent\ignorespaces}
  1260. %
  1261. %-----------------------------------------------------------------
  1262. %%%%%%%    NOTE ADDED IN PROOF
  1263. %-----------------------------------------------------------------
  1264. \def\noteadded{\goodbreak\vskip\beforeapp\noindent%
  1265.   {\bf \noteadd\ }\par\nobreak\vskip\afterappt\noindent\ignorespaces}
  1266. %
  1267. %-----------------------------------------------------------------
  1268. %%%%%%%    POSTAL ADDRESS
  1269. %-----------------------------------------------------------------
  1270. \def\bpostadd{\vskip\beforeapp\bgroup\petit\bgroup\obeylines%
  1271.     \parindent=0pt}
  1272. \def\epostadd{\egroup\par\egroup}
  1273. %-----------------------------------------------------------------
  1274. %%%%%%%    MISC.
  1275. %-----------------------------------------------------------------
  1276. \let\ts=\thinspace
  1277. \newlinechar=`\| % line break for TeX messages at the screen
  1278. %
  1279. %-----------------------------------------------------------------
  1280. %%%%%%%    FOOTNOTES
  1281. %-----------------------------------------------------------------
  1282. %%%%%%% general macros
  1283. %-----------------------------------------------------------------
  1284. %    footnote as in plain:
  1285. \catcode`\@= 11
  1286. \newinsert\footins
  1287. \def\footnotea#1{\let\@sf\empty % parameter #2 (the text) is read later
  1288.   \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
  1289.   #1\@sf\vfootnote{#1}}
  1290. %    changed:the footnote gets her own footfont,
  1291. %    so the subscript in the text remains in the
  1292. %    current size (of course this size needs a
  1293. %    font definition for \scriptfont1 ):
  1294. \def\vfootnote#1{\insert\footins\bgroup\footfont\hsize=\colhsize
  1295.   \interlinepenalty\interfootnotelinepenalty
  1296.   \splittopskip\ht\strutbox % top baseline for broken footnotes
  1297.   \splitmaxdepth\dp\strutbox \floatingpenalty\@MM
  1298.   \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip
  1299.   \textindent{#1}\footstrut\futurelet\next\fo@t}
  1300. \def\fo@t{\ifcat\bgroup\noexpand\next \let\next\f@@t
  1301.   \else\let\next\f@t\fi \next}
  1302. \def\f@@t{\bgroup\aftergroup\@foot\let\next}
  1303. \def\f@t#1{#1\@foot}
  1304. \def\@foot{\strut\egroup}
  1305. \def\footstrut{\vbox to\splittopskip{}}
  1306. \skip\footins=\bigskipamount % space added when footnote is present
  1307. \count\footins=1000 % footnote magnification factor (1 to 1)
  1308. \dimen\footins=8in % maximum footnotes per page
  1309. %
  1310. %----------------------------------------------------------------
  1311. %%%%% general footnote layout:
  1312. %
  1313. \def\begfo#1{\bgroup
  1314.                   \def\textindent##1{%removed 4.10:\hang
  1315. % changed by A. Binding 23.11.90          |       |
  1316. %old line:          \noindent\hbox to\footindent{##1\hss}\ignorespaces}%
  1317.           \noindent\hbox to\footindent{\hss##1\enspace}\ignorespaces}%
  1318.                   \footnotea{$^{#1}$}\bgroup}
  1319. %              {} added here   |  |   A. Binding 23.11.90
  1320. \def\endfo{\egroup\egroup}
  1321. %-----------------------------------------------------------------
  1322. %%%%% handling the counter:
  1323. %
  1324. \newcount\stars \stars=0
  1325. \def\morestars{\global\advance\stars by1\relax}%
  1326. \newcount\footcnt \footcnt=0
  1327. \def\morefoots{\global\advance\footcnt by1\relax}%
  1328. %
  1329. %-----------------------------------------------------------------
  1330. %%%%% handling the asterisks:
  1331. %
  1332. \newtoks\stparam \global\stparam{}
  1333. \def\checkstars{\morestars%
  1334.   \ifcase\stars\global\stparam={}%
  1335.   \or\global\stparam{{\star}}%
  1336.   \or\global\stparam{{\star\star}}%
  1337.   \or\global\stparam{{\star\star\star}}%
  1338.   \else%
  1339.   \message{more than three stars are not available|}%
  1340.   \fi
  1341. }%
  1342. %-----------------------------------------------------------------
  1343. %      automatic numbered footnote, scriptsize in petit:
  1344. %-----------------------------------------------------------------
  1345. \def\fonote#1{\morefoots\begfo{\the\footcnt}\ignorespaces #1\endfo}%
  1346. %
  1347. %-----------------------------------------------------------------
  1348. %      automatic footnote numbering with growing number of
  1349. %      asterisks: footnote in AUTHOR or MAIN- resp. SUBTITLE
  1350. %-----------------------------------------------------------------
  1351. \def\FOOTNOTE#1{\checkstars
  1352.   \begfo{\the\stparam}\ignorespaces #1\endfo}%
  1353. % Present address
  1354. \def\PRESADD#1{\checkstars
  1355.   \begfo{\the\stparam}Present address: #1\endfo}%
  1356. %
  1357. %-----------------------------------------------------------------
  1358. \catcode`\@=12
  1359. %
  1360. %-----------------------------------------------------------------
  1361. %%%%%%%    MINI ENVIRONMENTS
  1362. %-----------------------------------------------------------------
  1363.  
  1364. \long\def\defenva#1#2#3#4#5#6%
  1365. {\expandafter\gdef\csname b#1\endcsname##1{#2%
  1366.         {#3\csname #1\endcsname\ ##1} \bgroup
  1367.         \ignorespaces
  1368.         #4%
  1369.     }%
  1370.  \expandafter\gdef\csname #1\endcsname{#6}%
  1371.  \expandafter\gdef\csname e#1\endcsname{\egroup#5}%
  1372. }
  1373. % Call this macro to build mini environments; the
  1374. % meaning of the parameters is:
  1375. % 1 basename of the environment. If we use lemma that
  1376. %   results in the definition of three macros:
  1377. %   \blemma (Beginning; one parameter)
  1378. %   \elemma (End; no parameter)
  1379. %   \lemma  (Contains the text of paramter #6)
  1380. % 2 add that before all
  1381. % 3 add that at the beginning of the first group (where
  1382. %   first argument is called)
  1383. % 4 add that at the beginning of the second group (text)
  1384. % 5 add that after all
  1385. %
  1386. %
  1387. % Evaluation b-macro: #2{#3 #6\ }\bgroup #4
  1388. % Evaluation e-macro: \egroup #5
  1389. %
  1390. %%%
  1391. % Difference: Begin macro defined by \defenvb needs no
  1392. % argument:     \bclaim ... \eclaim but
  1393. %        \blemma{3.2} ... \elemma
  1394. %
  1395. \long\def\defenvb#1#2#3#4#5#6%
  1396. {\expandafter\gdef\csname b#1\endcsname{#2%
  1397.         {#3\csname #1\endcsname} \bgroup
  1398.         \noindent\ignorespaces
  1399.         #4%
  1400.     }%
  1401.  \expandafter\gdef\csname #1\endcsname{#6}%
  1402.  \expandafter\gdef\csname e#1\endcsname{\egroup#5}%
  1403. }
  1404. %changed 13.2.91 binding baselineskip to 0.5 baselineskip
  1405. %                                       |
  1406. \def\nlni{\par\vskip-\lastskip\vskip0.5\baselineskip\noindent}
  1407. %new command \endskip copyright binding 13.2.91
  1408. \def\endskip{\par\vskip0.5\baselineskip}
  1409. % changed 11.10.90:
  1410. % #5 changed from \par to \endskip in all environments binding 13.2.91
  1411. \defenva{lemma}{\nlni}%
  1412.     {\bf }{\it }{\endskip}{Lemma}
  1413. \defenva{defin}{\nlni}%
  1414.     {\bf }{\rm }{\endskip}{Definition}
  1415. \defenva{theorem}{\nlni}%
  1416.     {\bf }{\it }{\endskip}{Theorem}
  1417. \defenva{corollary}{\nlni}%
  1418.     {\bf }{\it }{\endskip}{Corollary}
  1419. \defenva{proof}{\nlni}%
  1420.     {\it }{\rm }{\endskip}{Proof}
  1421. \defenva{example}{\nlni}%
  1422.     {\it }{\rm }{\endskip}{Example}
  1423. \defenvb{claim}{\nlni}%
  1424.     {\it }{\rm }{\endskip}{Claim}
  1425. \defenva{prop}{\nlni}%
  1426.     {\bf }{\it }{\endskip}{Property}
  1427. \defenva{conjec}{\nlni}%
  1428.     {\it }{\rm }{\endskip}{Conjecture}
  1429. % end of changes 13.2.91
  1430. %end chnged 11.10.90
  1431. %%
  1432. %-----------------------------------------------------------------
  1433. %
  1434. \catcode`\@=\active
  1435. %
  1436. %-----------------------------------------------------------------
  1437. %%%%%%%    THE END
  1438. %-----------------------------------------------------------------
  1439. %%%%%%    to identify user defined special-char macros:
  1440. %
  1441. \newcount\specct
  1442. \specct=1
  1443. \newtoks\ttmp \newtoks\empty
  1444. \def\mk#1{\global\ttmp={#1}}
  1445. \mk{\csname special\romannumeral\specct\endcsname}
  1446. \def\checkspec{%
  1447.   \loop
  1448.   \smallskip%
  1449.   \if\the\ttmp\empty\else
  1450.   \noindent special character No\number\specct: \the\ttmp
  1451.   \fi
  1452.   \advance\specct by 1%
  1453.   \mk{\csname special\romannumeral\specct\endcsname}
  1454.   \expandafter\if\the\ttmp\empty%
  1455.   \let\ENDD=Y\else\let\ENDD=N\fi%
  1456.   \ifx N\ENDD\repeat
  1457.   }
  1458. %
  1459. %-------------------------------------------------------
  1460. %%%%%%%    PAGE NUMBERING AND "RUNNING HEAD"
  1461. %-------------------------------------------------------
  1462. %
  1463. \nopagenumbers
  1464. %-----------------------------------------------------------------
  1465. %%%%%%%    left part of the headline:
  1466. \def\mshead{%
  1467.  \vbox{\hrule%
  1468.        \line{\vrule\kern3pt%
  1469.              \vbox{\rightskip=0pt plus3em\advance\hsize by-7pt%
  1470.            \hrule height0pt depth0pt width\hsize
  1471.            \kern3pt%
  1472.                    \hbox{\bf \SprJLogoname\ Manuskript-Nr.}%
  1473.                    \hbox{(will be inserted by hand later)}%
  1474.                    \kern3pt\hrule\kern3pt%
  1475.                    \hbox{\bf Your thesaurus codes are:}%
  1476.                    \hbox{\bf\ignorespaces%
  1477.                  \the\THESAURUS\hfill}
  1478.                    \kern3pt}%
  1479.              \hfil\kern3pt\vrule}%
  1480.        \hrule}%
  1481. }%
  1482. %%%%%%%    headline:
  1483. \newdimen\hdlsav
  1484. \def\paglay{%
  1485.   \headline={\tenpoint\hsize=.75\fullhsize%
  1486.     \ifnum\pageno=1%
  1487.         \mshead%
  1488.     % THS: Your thesaurus codes are etc. cf. aa.dra
  1489.         \rlap{\quad\SprJLogo}%
  1490.     \else%
  1491.       \petit
  1492.       % THS genb was: \ifodd\pageno\rightheadline\hfil\folio
  1493.       % THS genb was: \else\folio\hfil\leftheadline%
  1494.     \ifodd\pageno\hfil\folio\else\folio\hfil\fi
  1495.     \fi%
  1496.   }%
  1497. %\noindent iiii
  1498. %\hdlsav =\ht\headline
  1499. }
  1500. % THS: aa.dra:::???
  1501. \ifx \undefined\instruct
  1502.   \headline={\tenrm\ifodd\pageno\hfil\folio
  1503.   \else\folio\hfil\fi}\fi
  1504. % EOF ???
  1505. %
  1506. %-----------------------------------------------------------------
  1507. %%%%%%%    HEADERS
  1508. %-----------------------------------------------------------------
  1509. %     1st order headlines without automatic numbering.
  1510. %-----------------------------------------------------------------
  1511. \def\aSa{\bgroup\par\sxtntipoint
  1512.     \rightskip=0pt plus6em\spaceskip=.3333em \xspaceskip=.5em
  1513.     \pretolerance=10000
  1514.     \noindent}
  1515. \def\eSa{\vskip\defaultbase
  1516.     \egroup
  1517.     \noindent
  1518.     \ignorespaces}
  1519. %%
  1520. \def\aTa{\bgroup\par\sxtnbfpoint
  1521.     \rightskip=0pt plus6em\spaceskip=.3333em \xspaceskip=.5em
  1522.     \pretolerance=10000
  1523.     \noindent}
  1524. \def\eTa{\vskip\defaultbase
  1525.     \egroup
  1526.     \noindent
  1527.     \ignorespaces}
  1528. %-----------------------------------------------------------------
  1529. %%%%%%%    2nd order headlines without automatic numbering.
  1530. %-----------------------------------------------------------------
  1531. \def\aTb{\bgroup\twlfbfpoint
  1532.     \raggedright
  1533.     \pretolerance=10000
  1534.     \noindent}
  1535. \def\eTb{\vskip\defaultbase
  1536.     \egroup
  1537.     \noindent
  1538.     \ignorespaces}
  1539. %-----------------------------------------------------------------
  1540. %%%%%%%    HEADERS WITH AUTOMATIC NUMBERING
  1541. %-----------------------------------------------------------------
  1542. % changed at character ("@") to key character for affiliations
  1543. % while title page is active (used in AUTHOR and INSTITUTE)
  1544. \catcode`\@=11
  1545. %-----------------------------------------------------------------
  1546. %%%%%%%    preparations:
  1547. %-----------------------------------------------------------------
  1548. %    register definitions for headlines:
  1549. %
  1550. %%%%%%  counter:
  1551. \newcount\c@Ta \newcount\c@Tb \newcount\c@Tc
  1552. \newcount\c@Td \newcount\c@Te \newcount\c@Tf
  1553. %%%%%%  skip before headline:
  1554. \newskip\bv@Ta \newskip\bv@Tb \newskip\bv@Tc
  1555. \newskip\bv@Td \newskip\bv@Te \newskip\bv@Tf
  1556. %%%%%%  skip after headline:
  1557. \newskip\av@Ta \newskip\av@Tb \newskip\av@Tc
  1558. \newskip\av@Td \newskip\av@Te \newskip\av@Tf
  1559. %%%%%%  skip back if headline before:
  1560. \newskip\mv@Ta \newskip\mv@Tb \newskip\mv@Tc
  1561. \newskip\mv@Td \newskip\mv@Te \newskip\mv@Tf
  1562. %
  1563. %    try 04.05.90:
  1564. %
  1565. \newtoks\curhd
  1566. \curhd={z}
  1567. %
  1568. %       macros for setting/resetting these registers:
  1569. %
  1570. \def\sethds#1#2#3#4#5{\resetcount{#1}%
  1571.   \global\csname bv@T#1\endcsname = #2%   vskip before header
  1572.   \global\csname av@T#1\endcsname = #3%   vskip after header
  1573.   \global\csname mv@T#1\endcsname = #4%   minus vskip if hdr before
  1574.   \global\expandafter\def\csname set#1\endcsname{#5}
  1575. }
  1576. %
  1577. \def\resetcount#1{\global\csname c@T#1\endcsname=0}
  1578. \def\@nameuse#1{\csname #1\endcsname}
  1579. \def\arabic#1{\@arabic{\@nameuse{c@T#1}}}
  1580. \def\@arabic#1{\ifnum #1>0 \number #1\fi}
  1581. %
  1582. \def\stepc#1{\global\expandafter
  1583.     \advance\csname c@T#1\endcsname by 1}
  1584. %
  1585. %       automatic generation of header-nrs:
  1586. %
  1587. \newtoks\befor\newtoks\after
  1588. \newtoks\hdnr
  1589. %
  1590. \def\getba#1{%
  1591. \if #1a%
  1592.   \global\befor={y}\global\after={b}
  1593.   \global\hdnr={\arabic{a}.\ }
  1594. \else\if #1b%
  1595.   \global\befor={a}\global\after={c}
  1596.   \global\hdnr={\arabic{a}.\arabic{b}.\ }
  1597. \else\if #1c%
  1598.   \global\befor={b}\global\after={d}
  1599.   \global\hdnr={\arabic{a}.\arabic{b}.\arabic{c}.\ }
  1600. \else\if #1d%
  1601.   \global\befor={c}\global\after={e}
  1602.   \global\hdnr={}
  1603. \else\if #1e%
  1604.   \global\befor={c}\global\after={f}
  1605.   \global\hdnr={}
  1606. \else\if #1f%
  1607.   \global\befor={c}\global\after={x}
  1608.   \global\hdnr={}
  1609. \fi\fi\fi\fi\fi\fi}
  1610. %
  1611. %-----------------------------------------------------------------
  1612. %%%%%%%    the macro to generate headers
  1613. %-----------------------------------------------------------------
  1614. %
  1615. \newbox\hdbox
  1616. \newskip\skipone
  1617. \newdimen\paght
  1618. %
  1619. %%%%%%  temporary redefinition of \par
  1620. \def\ignorepar{%
  1621.     \parindent=0pt%
  1622.     \def\par{\ifvmode\else\endgraf\fi\let\par=\endgraf
  1623.     \parindent=\defaultparindent
  1624.     % try 4.5:
  1625.     \global\curhd={z}
  1626.     }}
  1627. %    \fi}}
  1628. %
  1629. %%%%%%  check if headline fits on current page
  1630. %
  1631. \gdef\checkpagb#1#2#3#4{%
  1632.   \paght=\pagetotal
  1633.   \global\setbox\hdbox=\vbox{%
  1634.       \csname set#1\endcsname%        initializing header
  1635.       \noindent
  1636.       #2%                number
  1637.       \ignorespaces #3%        text
  1638.      }%
  1639.    \advance\paght by -\pageshrink
  1640.    \ifdim\paght>\pagegoal
  1641.    \else \paght=\pagetotal\advance\paght by \pagestretch
  1642.     \ifdim\paght<\pagegoal
  1643.       \paght=\pagetotal
  1644.       \advance\paght by \csname bv@T#1\endcsname
  1645.           \advance\paght by\ht\hdbox%
  1646.       \advance\paght by\csname av@T#1\endcsname
  1647.           \advance\paght by#4%        remaining lines on page
  1648.           \ifdim\paght > \pagegoal%
  1649.         \expandafter\expandafter\if\the\befor\the\curhd
  1650.           \expandafter\if\the\befor y\vfill\eject \else
  1651.               \nobreak    %new
  1652.             \fi %new
  1653.         \else
  1654.         \vfill\eject
  1655.         \fi    %new
  1656.       \fi
  1657.      \fi
  1658.    \fi
  1659. }%
  1660. %-----------------------------------------------------------------
  1661. \catcode`\@=12
  1662. %-----------------------------------------------------------------
  1663. %%%%%%  the main macro:
  1664. %
  1665. \def\makehead#1#2#3{%
  1666.   \ifvmode\else\par\fi
  1667.   \skipone=\lastskip%\unskip%    store lastskip
  1668.   \getba{#1}%            get: higher/lower level and number
  1669.   \stepc{#1}%            raise counter
  1670.   \expandafter\if \the\after x\else
  1671.     \resetcount{\the\after}%    reset lower level
  1672.   \fi
  1673. %                back skip if headline before:
  1674.     %    try 4.5:
  1675.     \expandafter\expandafter\if\the\befor\the\curhd
  1676.       \nobreak\vskip\csname mv@T#1\endcsname
  1677.     \else \fi
  1678. %                check remaining space on page
  1679. %                and store headline to hdbox:
  1680.   \checkpagb{#1}{\the\hdnr}{#2}{#3}%    
  1681.   \expandafter\expandafter\if\the\befor\the\curhd
  1682.   \nobreak\vskip\csname bv@T#1\endcsname \else
  1683.   \vskip\csname bv@T#1\endcsname%    skip before header
  1684.   \fi
  1685.   \nobreak
  1686.   \bgroup
  1687.   \nobreak\unvbox\hdbox%                hdbox out
  1688.   \egroup\nobreak%
  1689.       \vskip\csname av@T#1\endcsname% skip after header
  1690.   \ignorepar
  1691.    \global\curhd={#1}
  1692.   \ignorespaces%
  1693. }%
  1694. %
  1695. %--------------------------------------------------------------------
  1696. %%%%%%%    definition of 3 orders of headlines:
  1697. %--------------------------------------------------------------------
  1698. %
  1699. \sethds{a}{2\defaultbase}{\defaultbase}{-2\defaultbase}%
  1700.     {\tenbfpoint \rightskip 0pt plus4em%
  1701.          \pretolerance=20000%
  1702.         }%
  1703. \sethds{b}{2\defaultbase}%
  1704.      {\defaultbase}{-2\defaultbase}%
  1705.     {\basesize\raggedright \pretolerance=10000\it}%
  1706. %
  1707. \sethds{c}{2\defaultbase}%
  1708.      {\defaultbase}{-2\defaultbase}%
  1709.     {\basesize\raggedright\pretolerance=10000}%
  1710. %
  1711. \def\titlea#1{\makehead{a}{#1}{4\baselineskip}}%
  1712. \def\titleb#1{\makehead{b}{#1}{3\baselineskip}}%
  1713. \def\titlec#1{\makehead{c}{#1}{2\baselineskip}}%
  1714. %
  1715. %--------------------------------------------------------------------
  1716. %%%%%%%    HEADERS WITHOUT AUTOMATIC NUMBERING
  1717. %--------------------------------------------------------------------
  1718. %%%%%%  the main macro:
  1719. %
  1720. \def\makeuhead#1#2#3{%
  1721.   \ifvmode\else\par\fi
  1722.   \skipone=\lastskip%\unskip%    store lastskip
  1723. %                back skip if headline before:
  1724.   \getba{#1}
  1725.   \expandafter\if \the\befor x\else
  1726.      \expandafter\expandafter\if\the\befor\the\curhd
  1727.     %\ifdim\skipone=\csname av@T\the\befor\endcsname
  1728.       \vskip\csname mv@T#1\endcsname
  1729.     \else \fi
  1730.   \fi
  1731. %                check remaining space on page
  1732. %                and store headline to hdbox:
  1733.   \checkpagb{#1}{}{#2}{#3}%    
  1734.   \vskip\csname bv@T#1\endcsname%    skip before header
  1735.   \bgroup
  1736.   \box\hdbox%                hdbox out
  1737.   \egroup\nobreak%
  1738.       \vskip\csname av@T#1\endcsname% skip after header
  1739.   \ignorepar
  1740.   \global\curhd={#1}
  1741.   \ignorespaces%
  1742. }%
  1743. %--------------------------------------------------------------------
  1744. %%%%%%%    and here the definition of the 3 orders unnumbered:
  1745. %--------------------------------------------------------------------
  1746. %
  1747. \def\utitlea#1{\makeuhead{a}{#1}{4\baselineskip}}%
  1748. \def\utitleb#1{\makeuhead{b}{#1}{3\baselineskip}}%
  1749. \def\utitlec#1{\makeuhead{c}{#1}{2\baselineskip}}%
  1750. %--------------------------------------------------------------------
  1751. %%%%%%%    (possible remaining orders: use shoulder headers)
  1752. %--------------------------------------------------------------------
  1753. %%%%%%%    SHOULDER HEADINGS
  1754. %-----------------------------------------------------------------
  1755. \sethds{d}{\baselineskip}{0pt}{-\baselineskip}%
  1756.     {}%
  1757. \sethds{e}{\baselineskip}{0pt}{-\baselineskip}%
  1758.     {}%
  1759. \sethds{f}{\baselineskip}{0pt}{-\baselineskip}%
  1760.     {}%
  1761. \def\makeush#1#2{%
  1762.   \ifvmode\else\par\fi
  1763.   \skipone=\lastskip%\unskip%    store lastskip
  1764. %                back skip if headline before:
  1765.   \getba{#1}
  1766.   \expandafter\if \the\befor x\else
  1767.      \expandafter\expandafter\if\the\befor\the\curhd
  1768. %    \ifdim\skipone=\csname av@T\the\befor\endcsname
  1769.       \vskip\csname mv@T#1\endcsname
  1770.     \else \fi
  1771.   \fi
  1772.   \global\curhd={#1}
  1773.   \vskip\csname bv@T#1\endcsname%    skip before header
  1774.   \noindent#2\ \ignorespaces%
  1775. }%
  1776. \def\utitled#1{\makeush{d}{{\bf #1}}}%
  1777. \def\utitlee#1{\makeush{e}{{\it #1}}}%
  1778. \def\utitlef#1{\makeush{f}{{\rm #1}}}%
  1779. %
  1780. %%%%%% begin of shoulder heading: roman / italic / bold
  1781. %
  1782. \def\shrm#1{{\vskip\baselineskip \noindent\rm #1}}% roman
  1783. \def\shit#1{{\vskip\baselineskip \noindent\it #1}}% italic
  1784. \def\shbf#1{{\vskip\baselineskip \noindent\bf #1}}% boldface
  1785. %
  1786. %--------------------------------------------------------------------
  1787. %--------------------------------------------------------------------
  1788. %%%%%%%    TITLE PAGE
  1789. %--------------------------------------------------------------------
  1790. %%%%%%%    declaration of variables for automatic title page
  1791. %--------------------------------------------------------------------
  1792. \newtoks\REFEREE
  1793. \newtoks\RECDATE
  1794. \newtoks\ACCDATE
  1795. \newtoks\SECTION
  1796. \newtoks\HEADNOTE
  1797. \newtoks\REVISED
  1798. \newtoks\DEDICATION
  1799. \newtoks\MAINTITLE
  1800. \newtoks\MAINTITLERUNNINGHEAD
  1801. \MAINTITLERUNNINGHEAD={ ????? }%
  1802. \newtoks\SUBTITLE
  1803. \SUBTITLE={ ????? }%
  1804. \newtoks\AUTHOR
  1805. \newtoks\AUTHORRUNNINGHEAD
  1806. \AUTHORRUNNINGHEAD={ ????? }%
  1807. \newtoks\INSTITUTE
  1808. \newtoks\SUMMARY
  1809. \newtoks\KEYWORDS
  1810. \KEYWORDS={ ????? }%
  1811. \newtoks\PACS
  1812. \PACS={ ????? }%
  1813. \newtoks\SUBCLASS
  1814. \SUBCLASS={ ????? }%
  1815. \newtoks\THESAURUS
  1816. \THESAURUS={ ????? }%
  1817. \newtoks\SENDOFF
  1818. \SENDOFF={ ????? }%
  1819. \newtoks\TRANSTITLE
  1820. \TRANSTITLE={ ????? }%
  1821. \newtoks\TRANSSUM
  1822. \newtoks\TRANSKEY
  1823. %--------------------------------------------------------------------
  1824. %%%%%%%    REFEREE:
  1825. %--------------------------------------------------------------------
  1826. \newbox\refereebox
  1827. \setbox\refereebox=\vbox to0pt{\vskip0.5cm%
  1828.   \line{\hrulefill\tentt\lower0.5ex
  1829.         \hbox{\kern5pt referee's copy\kern5pt}\hrulefill}\vss}%
  1830. %
  1831. \global\let\REFEREE=N
  1832. \def\refereelayout{%
  1833. \global\let\REFEREE=Y}
  1834. %--------------------------------------------------------------------
  1835. %%%%%%%    general macros:
  1836. %--------------------------------------------------------------------
  1837. %
  1838. %%%%%%    Messages:
  1839. %
  1840. \def\missmsg#1{\message{Missing #1 |}}
  1841. \def\ilgmsg#1{\message{Your #1 is too long to be used|%
  1842. as the running head|}}
  1843. \def\iilgmsg{\message{please supply a shorter form}}
  1844. \def\optmsg#1{\message{#1 is optional|}}
  1845. \def\subtoks#1{#1 suppressed due to excessive length}
  1846. %%
  1847. %%
  1848. %
  1849. %%    test if missing:
  1850. %
  1851. \def\tstmiss#1#2#3#4#5{%
  1852. \edef\test{\the #1}%
  1853. \ifx\test\missing%
  1854.   #2\relax%        message
  1855.   #3%            action if missing
  1856. \else
  1857.   \ifx\test\missingi%
  1858.     #2\relax%        message
  1859.     #3%            action if missing
  1860.   \else #4%        action if existing
  1861. \fi\fi
  1862. #5%            action at any rate
  1863. }%
  1864. %
  1865. %
  1866. %--------------------------------------------------------------------
  1867. %%%%%%%    main macro for automatic title page: \maketitle
  1868. %--------------------------------------------------------------------
  1869. %%
  1870. %--------------------------------------------------------------------
  1871. \catcode`\@= \active
  1872. %--------------------------------------------------------------------
  1873. \newskip\headlskip
  1874. \def\maketitle{\paglay%
  1875. \hsize=\fullhsize        
  1876. \smallskipamount=3pt
  1877. \medskipamount=6pt
  1878. \bigskipamount=12pt
  1879. \parskip=0pt
  1880. \hbox{}%
  1881. \vskip\beforemain
  1882. \hbox{}%
  1883. \def\missing{ ????? }% pattern for identifying empty fields
  1884. \def\missingi{}% pattern for identifying empty fields
  1885. %
  1886. % To test an empty field compare variable with \missing=" ????? ".
  1887. % \edef\test{\the\VARIABLE} enables variable for comparing
  1888. % \ifx\test = \missing      variable contains text: " ????? " ?
  1889. % !!!! action if variable equal to \missing: nothing entered !!!!
  1890. % \else !!!! text entered !!! \fi
  1891. %
  1892. %
  1893. %____________ SENDOFF ______________________________
  1894. \tstmiss{\SENDOFF}{}{}{\insert\footins{\hsize=\colhsize
  1895. \smallskip\noindent
  1896. \eightpoint{\it Offprint requests to\/}:
  1897. \ignorespaces\the\SENDOFF\smallskip}}{}%
  1898. %
  1899. %
  1900. %____________ HEADNOTE ______________________________
  1901. \tstmiss%
  1902.   {\HEADNOTE}%
  1903.   {}%
  1904.   {}%
  1905.   {\aSa\ignorespaces\the\HEADNOTE\eSa}%
  1906.   {}%
  1907. %____________ SECTION ______________________________
  1908. \tstmiss%
  1909.   {\SECTION}%
  1910.   {}%
  1911.   {}%
  1912.   {\aTa\ignorespaces\the\SECTION\eTa}%
  1913.   {}%
  1914. %____________ MAINTITLE ______________________________
  1915. \let\RHEAD=N%    % MAINTITLERUNNINGHEAD set?
  1916. \tstmiss%
  1917.   {\MAINTITLE}%
  1918.   {\missmsg{MAINTITLE}}%
  1919.   {\global\MAINTITLE={MAINTITLE should be given}}%
  1920.   {}%
  1921.   {%         write MAINTITLE:
  1922.    \aTa\ignorespaces\the\MAINTITLE\eTa%
  1923. %         make MAINTITLERUNNINGHEAD:
  1924. %         take away footnotes:
  1925.    \gdef\FOOTNOTE##1{}%
  1926. %         test if specific MAINTITLERUNNINGHEAD:
  1927.    \tstmiss%
  1928.      {\MAINTITLERUNNINGHEAD}%
  1929.      {}%
  1930.      {\global\let\RHEAD=N}%
  1931.      {\global\MAINTITLE={\the\MAINTITLERUNNINGHEAD}%
  1932.       \global\let\RHEAD=Y}%
  1933.      {}%
  1934. %     test if MAINTITLERUNNINGHEAD's too long:
  1935.    \setbox0=\hbox{\petit\kern1.5cm\ignorespaces
  1936.      \the\MAINTITLERUNNINGHEAD\unskip}%
  1937.    \ifdim\wd0>\hsize
  1938.      \if N\RHEAD%
  1939.        \ilgmsg{MAINTITLE}\message{please supply a short form %
  1940.          in MAINTITLERUNNINGHEAD|}%
  1941.        \xdef\rightheadline{\subtoks{MAINTITLE}}%
  1942.      \else
  1943.        \ilgmsg{MAINTITLERUNNINGHEAD}\iilgmsg
  1944.        \xdef\rightheadline{\subtoks{MAINTITLERUNNINGHEAD}}%
  1945.      \fi
  1946.    \else
  1947.      \edef\temp{\ignorespaces\the\MAINTITLE\unskip}%
  1948.      \xdef\rightheadline{\temp}%
  1949.    \fi}%
  1950. %
  1951. %____________ SUBTITLE ______________________________
  1952. \tstmiss%
  1953.   {\SUBTITLE}%
  1954.   {\optmsg{SUBTITLE}}%
  1955.   {}%
  1956.   {\aTb\ignorespaces\the\SUBTITLE\eTb}%
  1957.   {}%
  1958.  \let\FOOTNOTE=\undefined
  1959. %
  1960. %____________ THESAURUS ______________________________
  1961. \ifcase \thesob
  1962.   \tstmiss%
  1963.     {\THESAURUS}%
  1964.     {}%
  1965.     {\global\THESAURUS={not necessary}}%
  1966.     {}%
  1967.     {}%
  1968. \or
  1969.   \tstmiss%
  1970.     {\THESAURUS}%
  1971.     {}%
  1972.     {\global\THESAURUS={missing; you have not inserted them}}%
  1973.     {}%
  1974.     {}%
  1975. \or
  1976.   \gdef\mshead{\vbox to\theshd{\hbox to \hsize{\hfill}\vfill}}%
  1977. \fi
  1978. %
  1979. %____________ AUTHOR ______________________________
  1980. \tstmiss%
  1981.  {\AUTHOR}%
  1982.  {\missmsg{Name(s) and initial(s) of author(s)}}%
  1983.  {\global\AUTHOR={Name(s) and initial(s) of author(s) should be given}}%
  1984.  {}%
  1985.  {%    write AUTHOR:
  1986.   \gdef@##1{$^{##1}$}%
  1987.   \basesize\noindent{\bf\ignorespaces \the\AUTHOR}\vskip\afterauthor%
  1988.   %    make AUTHORRUNNINGHEAD:
  1989.   %    remove adresses:
  1990.   \tstmiss%
  1991.     {\AUTHORRUNNINGHEAD}%
  1992.     {}%
  1993.     {\gdef@##1{}\gdef\PRESADD##1{}%
  1994.      \edef\temp{\ignorespaces\the\AUTHOR\unskip}%
  1995.     \xdef\leftheadline{\temp}%
  1996.     }%
  1997.     {\xdef\leftheadline{\ignorespaces\the\AUTHORRUNNINGHEAD%
  1998.      \unskip}%
  1999.     }%
  2000.     {}%
  2001.  }%
  2002. %
  2003. %____________ INSTITUTE ______________________________
  2004. \tstmiss%
  2005.   {\INSTITUTE}
  2006.   {\missmsg{Address(es) of author(s)}}%
  2007.   {\global\INSTITUTE={Address(es) of author(s) should be given.}}%
  2008.   {}%
  2009.   {\gdef@##1{\endgraf%\hangindent0.5\defaultparindent\hangafter=1%
  2010.    \noindent\hbox to0.5\defaultparindent{$^{##1}$\hfil}\ignorespaces}
  2011.    \bgroup\petit\noindent\ignorespaces\the\INSTITUTE%
  2012.    \vskip\afterinst\egroup%
  2013.   }%
  2014. %
  2015. %____________ RECDATE ______________________________
  2016. \tstmiss%
  2017.   {\RECDATE}%
  2018.   {\message{The date of receipt should be inserted later|}}%
  2019.   {\global\RECDATE={{\petit $[$the date should be inserted later$]$}}}%
  2020.   {}%
  2021.   {\bgroup\petit\noindent%
  2022.    \received\ \ignorespaces\the\RECDATE\unskip\ignorespaces%
  2023.   }%
  2024. %
  2025. %____________ ACCDATE ______________________________
  2026. \tstmiss%
  2027.   {\ACCDATE}%
  2028.   {\message{The date of acceptance should be inserted later|}}%
  2029.   {\global\ACCDATE={{\petit $[$the date should be inserted later$]$}}}%
  2030.   {}%
  2031.   {%        give out ACCDATE:
  2032.    ; \accepted\ \ignorespaces\the\ACCDATE\unskip\ignorespaces%
  2033.   }%
  2034. %
  2035. %____________ REVISED ______________________________
  2036. \tstmiss%
  2037.   {\REVISED}%
  2038.   {}%
  2039.   {}%
  2040.   {%        give out REVISED:
  2041.    ; \revised\ \ignorespaces\the\REVISED%
  2042.   }%
  2043.   {\endgraf\egroup}%
  2044. %
  2045. %____________ DEDICATION ______________________________
  2046. \tstmiss%
  2047.   {\DEDICATION}%
  2048.   {}%
  2049.   {}
  2050.   {    %give out DEDICATION:
  2051.    \vskip\beforeded\bgroup\it\noindent\ignorespaces\the\DEDICATION%
  2052.    \endgraf\egroup%
  2053.   }%
  2054.   {}
  2055. %
  2056. %--------------------------------------------------------------------
  2057. %    test if top matter is lower than the predefined value:
  2058. %--------------------------------------------------------------------
  2059. \basesize\hsize=\colhsize
  2060. %    to get the correct reference height:
  2061. \vskip2\defaultbase
  2062. %%changed from: \phantom{Sg}
  2063. \setbox0=\hbox{S}
  2064. \noindent\hbox{\vrule height\ht0 width 0pt depth0pt}\par
  2065. %
  2066. \global\advance\realhead by \bumarkskip
  2067. %THS added 4 17 90 fullheadstuff
  2068. \ifnum\pageno=1
  2069.     \fullhead = \pagetotal
  2070.     \advance\fullhead by-\defaultbase
  2071.     \ifdim\fullhead<\realhead
  2072.         \global\headlskip=\realhead
  2073.         \global\advance\headlskip by -\fullhead%
  2074.         \global\fullhead=\realhead
  2075.         \global\let\bigsav\bigskip
  2076.         \gdef\bigskip{}% to avoid TeX's standard bigskip after topinsert
  2077.         \topinsert\vbox{\vskip\headlskip%    "vfill"
  2078.                    }\endinsert    
  2079.         \global\let\bigskip\bigsav
  2080.     \else
  2081.         \global\headlskip=0pt
  2082.         \global\let\bigsav\bigskip
  2083.         \gdef\bigskip{}% to avoid TeX's standard bigskip after topinsert
  2084.         \topinsert\vbox{\vskip\headlskip%    "vfill"
  2085.                    }\endinsert    
  2086.         \global\let\bigskip\bigsav
  2087.     \fi
  2088. \fi
  2089. \global\advance\fullhead by 10pt%%changed from: \topskip; fixed value!
  2090. \global\advance\fullhead by \lineskip
  2091. \vskip-\defaultbase
  2092. %
  2093. %____________ SUMMARY ______________________________
  2094. \tstmiss%
  2095.   {\TRANSTITLE}
  2096.   {}%
  2097.   {}%
  2098.   {\endgraf\noindent\bgroup\leftskip=0cc%
  2099.      {\bf\ignorespaces\the\TRANSTITLE}%
  2100.      \endgraf\vskip \defaultbase\egroup%
  2101.   }%
  2102.   {}%
  2103. %
  2104. \tstmiss%
  2105.   {\SUMMARY}%
  2106.   {\missmsg{Summary}}%
  2107.   {\global\SUMMARY={Not yet supplied.}}%
  2108.   {}%
  2109.   {\bgroup\noindent{\bf \summary. }%
  2110.      \ignorespaces\the\SUMMARY\endgraf\egroup%
  2111.   }%
  2112. %
  2113. %____________ KEYWORDS ______________________________
  2114. \ifcase \keyob
  2115.   \tstmiss%
  2116.     {\KEYWORDS}
  2117.     {}%
  2118.     {}%
  2119.     {\vskip\beforekey\endgraf\noindent\hangindent=0cc\hangafter=0%
  2120.      {\bf Key words: }\ignorespaces\the\KEYWORDS\endgraf
  2121.     }%
  2122.     {}%
  2123.   \or
  2124.     \tstmiss%
  2125.       {\KEYWORDS}%
  2126.       {\missmsg{Keywords}}%
  2127.       {}%
  2128.       {\vskip\beforekey\endgraf\noindent\hangindent=0cc\hangafter=0%
  2129.        {\bf Key words: }\ignorespaces\the\KEYWORDS\endgraf
  2130.       }%
  2131.       {}%
  2132.   \or
  2133. %
  2134. %____________ SUBCLASS ______________________________
  2135.      \tstmiss%
  2136.        {\SUBCLASS}%
  2137.        {\missmsg{Subject Classifications}}%
  2138.        {}%
  2139.        {\vskip\beforekey\endgraf\noindent\hangindent=0cc\hangafter=0%
  2140.         {\it Subject Classifications. }\ignorespaces\the\SUBCLASS\endgraf
  2141.        }%
  2142.        {}%
  2143.   \or
  2144. %____________ PACS ______________________________
  2145.      \tstmiss%
  2146.        {\PACS}%
  2147.        {\missmsg{PACS}}%
  2148.        {}%
  2149.        {\vskip\beforekey\endgraf\noindent\hangindent=0cc\hangafter=0%
  2150.         {\bf PACS: }\ignorespaces\the\PACS\endgraf
  2151.        }%
  2152.        {}%
  2153. %
  2154. \fi
  2155. %
  2156. \par
  2157. \global\stars=0
  2158. %%
  2159. \tstmiss%
  2160.   {\TRANSSUM}%
  2161.   {}%
  2162.   {}%
  2163.   {\vskip\defaultbase\endgraf\noindent\bgroup\leftskip=0cc%
  2164.    {\bf\ignorespaces\transsummary.\ }\ignorespaces%
  2165.    \the\TRANSSUM\endgraf\egroup
  2166.   }%
  2167.   {}
  2168. %%%%%%%%% TRANSLATED KEYWORDS
  2169. %      note: user has to write the whole thing
  2170.   \tstmiss%
  2171.     {\TRANSKEY}%
  2172.     {}%
  2173.     {}%
  2174.     {\vskip\beforekey\endgraf\noindent\hangindent=0cc\hangafter=0%
  2175.      \the\TRANSKEY\endgraf
  2176.     }%
  2177.     {}%
  2178. % glue made strechable 20.12.90 binding
  2179. \vskip 10dd plus 6pt minus 4pt
  2180. \hrule width \colhsize
  2181. \vskip 10dd plus 6pt minus 4pt
  2182. %--------------------------------------------------------------------
  2183. %
  2184. %-------------------------------------------------------------------
  2185. %%%%%%%    REFEREE
  2186. %-----------------------------------------------------------------
  2187. \if Y\REFEREE
  2188. \message{A referee's copy will be produced|}
  2189. \footline={\copy\refereebox}%
  2190. \normalbaselineskip=2\normalbaselineskip
  2191. \normallineskip=2\normallineskip\normalbaselines
  2192. \fi
  2193. %%%%%%%%%%%%%%%%%%%
  2194. \catcode`\@=12%
  2195. \global\curhd={y}
  2196. \vskip2\defaultbase
  2197. % die naechste def. scheint nicht zu funktionieren. binding
  2198. \gdef\nignorepar{%
  2199.     \parindent=0pt%
  2200.     \gdef\par{\ifvmode\else\endgraf\let\par=\endgraf
  2201.     \parindent=\defaultparindent
  2202.     % changed 4.5:
  2203.     \global\curhd={z}
  2204.     \fi}}
  2205. \nignorepar
  2206. %next four lines added by binding 20.12.90
  2207. \smallskipamount=3pt plus 1pt minus 1pt
  2208. \medskipamount=6pt plus 2pt minus 2pt
  2209. \bigskipamount=12pt plus 4pt minus 4pt
  2210. \parskip=0pt plus 1pt
  2211. %
  2212. }% end of \maketitle and group of "@":
  2213. % "@" set back to normal character.
  2214. %
  2215. %-----------------------------------------------------------------
  2216. %%%%%    Definition of \typeset:
  2217. %THS: defined in 2sp!
  2218. %\def\typeset{\bigskip\bgroup\petit\noindent
  2219. %  This article was processed by the authors \hfill \break
  2220. %  using the Springer-Verlag \TeX\ \SprJLogoname\ macro package 1990.%
  2221. %  \egroup}%
  2222. %
  2223. \newbox\springerMacro \setbox\springerMacro=\vbox{}
  2224. %changed by binding 18.12.90
  2225. \setbox\springerMacro=\vbox{\petit\noindent
  2226.    This article was processed using %raus: by the authors
  2227.    Sprin\-ger-Ver\-lag \TeX\ \SprJLogoname\ macro package 1990.}
  2228. %%%%%    Definition of \bye:
  2229. \outer\def\bye{%
  2230.     \typeset\bigskip
  2231. %            the list of user defined char-macros:
  2232.   \checkspec
  2233.   \if R\lr\null\fi% THS 2sp
  2234.   \vfill\supereject\end}
  2235. %
  2236. \basesize
  2237. % End of included file: genb.tex
  2238. % Begin of included file: twocol.tex
  2239. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2240. %% Springer macro file: Part %M% Version %I% (%G%) EDS
  2241. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2242. %
  2243. %%%
  2244. %%% AA.FIX (OUTPUTLR.TEX modified for Astronomy & Astrophysics)
  2245. %%%
  2246. %%%%%
  2247. %%%%% -----------------------------------------------------------------
  2248. %%%%%
  2249. %%%%% Author: Konrad Bernlöhr         (C) 1990
  2250. %%%%%         (with ideas from the TeX Book and from LATEX.TEX)
  2251. %%%%%
  2252. %%%%% This file gives plain TeX the ability of single and double
  2253. %%%%% column output with floating insertions at the top which span
  2254. %%%%% both columns in double column format.
  2255. %%%%% The default format is double column format. Switching between
  2256. %%%%% single and double column format is provided but inserts
  2257. %%%%% an immediate page break and ejects all floating insertions.
  2258. %%%%% Double column floating insertions defined in text in a
  2259. %%%%% right column are held back until the beginning of the next page.
  2260. %%%%%
  2261. %%%%% -----------------------------------------------------------------
  2262. %%%%%
  2263. %%%%% Macros which the user should know about:
  2264. %%%%%
  2265. %%%%% \setuplr#1#2#3   : Should be called before any output
  2266. %%%%%                    #1 = O (one column) or T (two columns,default)
  2267. %%%%%                    #2 <dimen> = text width (both columns)
  2268. %%%%%                    #3 <dimen> = column width
  2269. %%%%%
  2270. %%%%% \newpage         : Fill a whole page and start a new one
  2271. %%%%% \newcolumn       : Start a new column
  2272. %%%%% \onecolumn       : Break the current page and switch to one column
  2273. %%%%% \twocolumns      : Break the current page and switch to two columns
  2274. %%%%%
  2275. %%%%% \bothtopinsert   : Beginning of a floating insertion over the
  2276. %%%%%                    full text width
  2277. %%%%% \endbothinsert   : End of such an insertion (analog to \endinsert)
  2278. %%%%% \specialpage     : Insert a special page following the current page
  2279. %%%%%
  2280. %%%%% All macros with a '@' in their names are for internal usage only.
  2281. %%%%%
  2282. %%%%% Modified macros for A&A:
  2283. %%%%%    \output \typeset \refereelayout
  2284. %%%%%    \titlea \titleb \titlec \titled
  2285. %%%%%    \begref \ref \endref \ack \app \figure
  2286. %%%%%    \begfig \begfigwid \begtab \begtabfullwid \begtabemptywid
  2287. %%%%% Original A&A macros using one of the modified macros:
  2288. %%%%%    \bye (\typeset)
  2289. %%%%% New macros for A&A:
  2290. %%%%%    \begfigpage \begtabempty \begtabfull \begtabpage
  2291. %%%%%    \puthere \putattop \putatbottom
  2292. %%%%%
  2293. %%%%% -----------------------------------------------------------------
  2294. %
  2295. \catcode`@=11    % use @ as a normal character
  2296. %
  2297. \newdimen\@txtwd  \@txtwd=\hsize
  2298. \newdimen\@txtht  \@txtht=\vsize
  2299. \newdimen\@colht  \@colht=\vsize
  2300. \newdimen\@colwd  \@colwd=-1pt
  2301. \newdimen\@colsavwd
  2302. %%%
  2303. %%% =========== Macros for initializing the whole thing ==========
  2304. %%%
  2305. \newcount\in@t \in@t=0
  2306. \def\initlr{\if N\lr \ifdim\@colwd<0pt \global\@colwd=\hsize \fi
  2307.    \else\global\let\lr=L\ifdim\@colwd<0pt \global\@colwd=\hsize
  2308.       \global\divide\@colwd\tw@ \global\advance\@colwd by -10pt
  2309.    \fi\fi\global\advance\in@t by 1}
  2310. \def\setuplr#1#2#3{\let\lr=O \ifx#1\lr\global\let\lr=N
  2311.       \else\global\let\lr=L\fi
  2312.    \@txtht=\vsize \@colht=\vsize \@txtwd=#2 \@colwd=#3
  2313.    \if N\lr \else\multiply\@colwd\tw@ \fi
  2314.    \ifdim\@colwd>\@txtwd\if N\lr
  2315.         \errmessage{The text width is less than the column width}
  2316.       \else
  2317.         \errmessage{The text width is less the two times the column width}
  2318.       \fi \global\@colwd=\@txtwd
  2319.       \if N\lr\divide\@colwd by 2\fi
  2320.    \else \global\@colwd=#3 \fi \initlr \@colsavwd=#3
  2321.    \global\@insmx=\@txtht
  2322.    \global\hsize=\@colwd}
  2323. %% ----------- switching between one and two column output ------
  2324. \def\twocolumns{\@fillpage\eject\global\let\lr=L \@makecolht
  2325.    \global\@colwd=\@colsavwd \global\hsize=\@colwd}
  2326. \def\onecolumn{\@fillpage\eject\global\let\lr=N \@makecolht
  2327.    \global\@colwd=\@txtwd \global\hsize=\@colwd}
  2328. \def\newpage{\@fillpage\eject}
  2329. \def\@fillpage{\vfill\supereject\if R\lr \null\vfill\eject\fi}
  2330. \def\newcolumn{\vfill\supereject}
  2331. %% ----------------------------------------------------------------
  2332. %%%
  2333. %%% =============== Macros used by the output routine ===============
  2334. %%%
  2335. \newbox\@leftcolumn
  2336. \newbox\@rightcolumn
  2337. \newbox\@outputbox
  2338. \newbox\@tempboxa
  2339. \newbox\@keepboxa
  2340. \newbox\@keepboxb
  2341. \newbox\@bothcolumns
  2342. \newbox\@savetopins
  2343. \newbox\@savetopright
  2344. \newcount\verybad \verybad=1010
  2345. %% -------- \@makecolumn puts the current column in a box ---------
  2346. \def\@makecolumn{\ifnum \in@t<1\initlr\fi
  2347.    \ifnum\outputpenalty=\the\verybad1  %%% i.e. 10101 if \verybad=1010
  2348.       \if L\lr\else\advance\pageno by1\fi
  2349.       \message{Warning: There is a 'widow' line
  2350.       at the top of page \the\pageno\if R\lr (left)\fi.
  2351.       This is unacceptable.} \if L\lr\else\advance\pageno by-1\fi \fi
  2352.    \ifnum\outputpenalty=\the\verybad2
  2353.       \message{Warning: There is a 'club' line
  2354.       at the bottom of page \the\pageno\if L\lr(left)\fi.
  2355.       This is unacceptable.} \fi
  2356.    \if L\lr \ifvoid\@savetopins\else\@colht=\@txtht\fi \fi
  2357.    \if R\lr \ifvoid\@bothcolumns \ifvoid\@savetopright
  2358.        \else\@colht=\@txtht\fi\fi\fi
  2359.    \global\setbox\@outputbox
  2360.    \vbox to\@colht{\boxmaxdepth\maxdepth
  2361.    % One-column top insertions are held back if there is already a
  2362.    % two-column floating insertion and the one-column top insertion
  2363.    % doesn't fit entirely in the column.
  2364.    \if L\lr \ifvoid\@savetopins\else\unvbox\@savetopins\fi \fi
  2365.    \if R\lr \ifvoid\@bothcolumns \ifvoid\@savetopright\else
  2366.        \unvbox\@savetopright\fi\fi\fi
  2367.    \ifvoid\topins\else\ifnum\count\topins>0
  2368.          \ifdim\ht\topins>\@colht
  2369.             \message{|Error: Too many or too large single column
  2370.             box(es) on this page.}\fi
  2371.          \unvbox\topins
  2372.       \else
  2373.          \global\setbox\@savetopins=\vbox{\ifvoid\@savetopins\else
  2374.          \unvbox\@savetopins\penalty-500\fi \unvbox\topins} \fi\fi
  2375.    \dimen@=\dp\@cclv \unvbox\@cclv % open up \box255
  2376.    \ifvoid\bottomins\else\unvbox\bottomins\fi
  2377.    \ifvoid\footins\else % footnote info is present
  2378.      \vskip\skip\footins
  2379.      \footnoterule
  2380.      \unvbox\footins\fi
  2381.    \ifr@ggedbottom \kern-\dimen@ \vfil \fi}
  2382. }
  2383. %% --------- \@outputpage puts the columns and the top insertions
  2384. %% --------- together and puts them out
  2385. \def\@outputpage{\@dooutput{\lr}}
  2386. \def\@colbox#1{\hbox to\@colwd{\box#1\hss}}
  2387. \def\@dooutput#1{\global\topskip=\defaulttopskip
  2388.   \ifdim\ht\@bothcolumns>\@txtht
  2389.     \if #1N
  2390.        \unvbox\@outputbox
  2391.     \else
  2392.        \unvbox\@leftcolumn\unvbox\@outputbox
  2393.     \fi
  2394.     \global\setbox\@tempboxa\vbox{\hsize=\@txtwd\makeheadline
  2395.        \vsplit\@bothcolumns to\@txtht
  2396.        \makefootline\hsize=\@colwd}
  2397.     \message{|Error: Too many double column boxes on this page.}
  2398.     \shipout\box\@tempboxa\advancepageno
  2399.     \unvbox255 \penalty\outputpenalty
  2400.   \else
  2401.     \global\setbox\@tempboxa\vbox{\hsize=\@txtwd\makeheadline
  2402.        \ifvoid\@bothcolumns\else\unvbox\@bothcolumns\fi
  2403.        \hsize=\@colwd
  2404.        \if #1N
  2405.           \hbox to\@txtwd{\@colbox{\@outputbox}\hfil}
  2406.        \else
  2407.           \hbox to\@txtwd{\@colbox{\@leftcolumn}\hfil\@colbox{\@outputbox}}
  2408.        \fi
  2409.        \hsize=\@txtwd\makefootline\hsize=\@colwd}
  2410.     \shipout\box\@tempboxa\advancepageno
  2411.   \fi
  2412.   \ifnum \special@pages>0 \s@count=100 \page@command
  2413.       \xdef\page@command{} \global\special@pages=0 \fi
  2414.   }
  2415. %% -------- \balance@right@left balances the columns on the last
  2416. %% -------- page of text.
  2417. \def\balance@right@left{\dimen@=\ht\@leftcolumn
  2418.     \advance\dimen@ by\ht\@outputbox
  2419.     \advance\dimen@ by\ht\springerMacro
  2420.     \dimen2=\z@ \global\the@end=0
  2421.     % put both columns together and compensate \vfill at the end
  2422.     \ifdim\dimen@>70pt\setbox\z@=\vbox{\unvbox\@leftcolumn
  2423.           \unvbox\@outputbox}
  2424.        \loop
  2425.           \dimen@=\ht\z@
  2426.           \advance\dimen@ by0.5\topskip
  2427.           \advance\dimen@ by\baselineskip
  2428.           \advance\dimen@ by\ht\springerMacro
  2429.           \advance\dimen@ by\dimen2
  2430.           \divide\dimen@ by2
  2431.           \splittopskip=\topskip
  2432.           % Now split it to two parts of about the same height
  2433.           {\vbadness=10000
  2434.              \global\setbox3=\copy\z@
  2435.              \global\setbox1=\vsplit3 to \dimen@}
  2436.           \dimen1=\ht3 \advance\dimen1 by\ht\springerMacro
  2437.        \ifdim\dimen1>\ht1 \advance\dimen2 by\baselineskip\repeat
  2438.        \dimen@=\ht1
  2439.        % Restore the column boxes and adjust
  2440.        \global\setbox\@leftcolumn
  2441.           \hbox to\@colwd{\vbox to\@colht{\vbox to\dimen@{\unvbox1}\vfil}}
  2442.        \global\setbox\@outputbox
  2443.           \hbox to\@colwd{\vbox to\@colht{\vbox to\dimen@{\unvbox3
  2444.              \vfill\box\springerMacro}\vfil}}
  2445.     \else
  2446.        \setbox\@leftcolumn=\vbox{unvbox\@leftcolum\bigskip
  2447.           \box\springerMacro}
  2448.     \fi}
  2449. %
  2450. %%%
  2451. %%% ================== Insertion routines ======================
  2452. %%%
  2453. %%% This follows loosely the definition of \topins by Knuth but without
  2454. %%% the need to distinguish between 3 different kinds of insertions.
  2455. %%% See the TeXBook p.363.
  2456. %%% Insertions in right columns are first saved in a box (\rightins)
  2457. %%% and inserted to \bothins after this column has been shipped out.
  2458. %
  2459. \newinsert\bothins
  2460. \newbox\rightins
  2461. \skip\bothins=\z@skip
  2462. \count\bothins=1000
  2463. \dimen\bothins=\@txtht \advance\dimen\bothins by -\bigskipamount
  2464. \def\bothtopinsert{\par\begingroup\setbox\z@\vbox\bgroup
  2465.     \hsize=\@txtwd\parskip=0pt\par\noindent\bgroup}
  2466. \def\endbothinsert{\egroup\egroup
  2467.   \if R\lr
  2468.     \right@nsert
  2469.   \else    % L\lr or N\lr
  2470.     % If double column insertions don't fit into the current columm
  2471.     % keep them until the next page starts.
  2472.     \dimen@=\ht\z@ \advance\dimen@ by\dp\z@ \advance\dimen@ by\pagetotal
  2473.     \advance\dimen@ by \bigskipamount \advance\dimen@ by \topskip
  2474.     \advance\dimen@ by\ht\topins \advance\dimen@ by\dp\topins
  2475.     \advance\dimen@ by\ht\bottomins \advance\dimen@ by\dp\bottomins
  2476.     \advance\dimen@ by\ht\@savetopins \advance\dimen@ by\dp\@savetopins
  2477.     \ifdim\dimen@>\@colht\right@nsert\else\left@nsert\fi
  2478.   \fi  \endgroup}
  2479. \def\right@nsert{\global\setbox\rightins\vbox{\ifvoid\rightins
  2480.     \else\unvbox\rightins\fi\penalty100
  2481.     \splittopskip=\topskip
  2482.     \splitmaxdepth\maxdimen \floatingpenalty200
  2483.     \dimen@\ht\z@ \advance\dimen@\dp\z@
  2484.     \box\z@\nobreak\bigskip}}
  2485. \def\left@nsert{\insert\bothins{\penalty100
  2486.     \splittopskip=\topskip
  2487.     \splitmaxdepth\maxdimen \floatingpenalty200
  2488.     \box\z@\nobreak\bigskip}
  2489.     \@makecolht}
  2490. \newdimen\@insht    \@insht=\z@
  2491. \newdimen\@insmx    \@insmx=\vsize
  2492. %% ------ \@makecolht computes the available height of the current column.
  2493. \def\@makecolht{\global\@colht=\@txtht \@compinsht
  2494.     \global\advance\@colht by -\@insht \global\vsize=\@colht
  2495.     \global\dimen\topins=\@colht}
  2496. \def\@compinsht{\if R\lr
  2497.        \dimen@=\ht\@bothcolumns \advance\dimen@ by\dp\@bothcolumns
  2498.        \ifvoid\@bothcolumns \advance\dimen@ by\ht\@savetopright
  2499.           \advance\dimen@ by\dp\@savetopright \fi
  2500.     \else
  2501.        \dimen@=\ht\bothins \advance\dimen@ by\dp\bothins
  2502.        \advance\dimen@ by\ht\@savetopins \advance\dimen@ by\dp\@savetopins
  2503.     \fi
  2504.     \ifdim\dimen@>\@insmx
  2505.        \global\@insht=\dimen@
  2506.     \else\global\@insht=\dimen@
  2507.     \fi}
  2508. \newinsert\bottomins
  2509. \skip\bottomins=\z@skip
  2510. \count\bottomins=1000
  2511. %%%
  2512. %%% Special pages to be inserted
  2513. %%%
  2514. \xdef\page@command{}
  2515. \newcount\s@count
  2516. \newcount\special@pages \special@pages=0
  2517. \def\specialpage#1{\global\advance\special@pages by1
  2518.     \global\s@count=\special@pages
  2519.     \global\advance\s@count by 100
  2520.     \global\setbox\s@count
  2521.        \vbox to\@txtht{\hsize=\@txtwd\parskip=0pt
  2522.        \par\noindent\noexpand#1\vfil}
  2523.     \xdef\page@command{\page@command
  2524.        \noexpand\global\advance\s@count by1
  2525.        \begingroup\setbox\z@\vbox{\noexpand\makeheadline
  2526.        \box\s@count\noexpand\makefootline}
  2527.        \noexpand{\shipout\box\z@}\endgroup\noexpand\advancepageno}
  2528.    }
  2529. %%%
  2530. %%%
  2531. %%% This little macro adjusts the top of figure boxes with the
  2532. %%% the top of the column. Previously they were adjusted with the
  2533. %%% the baseline of the first row in a column.
  2534. \def\@startins{\vskip \topskip\hrule height\z@
  2535.    \nobreak\vskip -\topskip\vskip3.7pt}
  2536. %%%
  2537. %%%  ==============  The main output routine ===============
  2538. %%%
  2539. %%%           The output routine was adapted to A&A
  2540. %%%
  2541. \let\retry=N
  2542. \output={\@makecolht \global\topskip=\defaulttopskip \let\retry=N
  2543.    \ifnum\count\topins>0 \ifdim\ht\topins>\@colht
  2544.        \global\count\topins=0 \global\let\retry=Y
  2545.        \unvbox\@cclv \penalty\outputpenalty \fi\fi
  2546.    \if N\retry
  2547.     \if N\lr     % this is for single column output
  2548.        \@makecolumn
  2549.        \ifnum\the@end>0
  2550.           \setbox\z@=\vbox{\unvcopy\@outputbox}
  2551.           \dimen@=\ht\z@ \advance\dimen@ by\ht\springerMacro
  2552.           \ifdim\dimen@<\@colht
  2553.              \setbox\@outputbox=\vbox to\@colht{\box\z@
  2554.              \unskip\vskip12pt plus0pt minus12pt
  2555.              \box\springerMacro\vfil}
  2556.           \else \box\springerMacro \fi
  2557.           \global\the@end=0
  2558.        \fi
  2559.        \ifvoid\bothins\else\global\setbox\@bothcolumns\box\bothins\fi
  2560.        \@outputpage
  2561.        \ifvoid\rightins\else
  2562.        %  Hold \rightins back if there is already a \@savetopins
  2563.        \ifvoid\@savetopins\insert\bothins{\unvbox\rightins}\fi
  2564.        \fi
  2565.     \else
  2566.        \if L\lr    % this is the left of two columns
  2567.           \@makecolumn
  2568.           \global\setbox\@leftcolumn\box\@outputbox \global\let\lr=R
  2569.           \ifnum\pageno=1
  2570.              \message{|[left\the\pageno]}
  2571.           \else
  2572.              \message{[left\the\pageno]} \fi
  2573.           \ifvoid\bothins\else\global\setbox\@bothcolumns\box\bothins\fi
  2574.           \global\dimen\bothins=\z@
  2575.           \global\count\bothins=0
  2576.           \ifnum\pageno=1
  2577.              \global\topskip=\fullhead\fi
  2578.        \else    % the right column
  2579.           \@makecolumn
  2580.           \ifnum\the@end>0\ifnum\pageno>1\balance@right@left\fi\fi
  2581.           \@outputpage \global\let\lr=L
  2582.           \global\dimen\bothins=\maxdimen
  2583.           \global\count\bothins=1000
  2584.           \ifvoid\rightins\else
  2585.           %  Hold \rightins back if there is already a \@savetopins
  2586.              \ifvoid\@savetopins \insert\bothins{\unvbox\rightins} \fi
  2587.           \fi
  2588.        \fi
  2589.     \fi
  2590.     \global\let\last@insert=N \put@default
  2591.     \ifnum\outputpenalty>-\@MM\else\dosupereject\fi
  2592.     \ifvoid\@savetopins\else
  2593.       \ifdim\ht\@savetopins>\@txtht
  2594.         \global\setbox\@tempboxa=\box\@savetopins
  2595.         \global\setbox\@savetopins=\vsplit\@tempboxa to\@txtht
  2596.         \global\setbox\@savetopins=\vbox{\unvbox\@savetopins}
  2597.         \global\setbox\@savetopright=\box\@tempboxa \fi
  2598.     \fi
  2599.     \@makecolht
  2600.     \global\count\topins=1000
  2601.    \fi
  2602.    }
  2603. %
  2604. %%% ----------  Start one- or two-column output  ---------
  2605. %
  2606. \if N\lr
  2607.    \setuplr{O}{\fullhsize}{\hsize}    % O = one column
  2608. \else
  2609.    \setuplr{T}{\fullhsize}{\hsize}    % T = two columns
  2610. \fi
  2611. %
  2612. %%%
  2613. %%% ===================================================================
  2614. %%%
  2615. %%%      The rest is specific for Astronomy & Astrophysics.
  2616. %%%      Here are macros which had to be redefined.
  2617. %%%
  2618. %%% ===================================================================
  2619. %%
  2620. %%     Figures and tables:
  2621. %%
  2622. %%     The macros cover the case of single column format as well
  2623. %%     as double column format. In single column format all 'double
  2624. %%     column' insertions are reduced to single column insertions.
  2625. %%     While real double column insertions will always appear at
  2626. %%     the top of page, the placement of single column insertions
  2627. %%     can be influenced by the definition of \put@default.
  2628. %%     Possible positions are at the current position (only if
  2629. %%     \insert@here expands to Y, there is no top and no bottom insertion
  2630. %%     so far, and there is enough space), at the bottom of the column
  2631. %%     (only if \insert@at@the@bottom expands to Y and there is enough
  2632. %%     space in this column) and at the top of the column but below
  2633. %%     any double column insertion.
  2634. %%
  2635. %%% ===================================================================
  2636. %
  2637. % The default placement of single column figures is usually at the top.
  2638. % If the figure almost fills the page if inserted at the bottom,
  2639. % it may go there.
  2640. % changed by binding 3.12.90             Y statt N
  2641. \def\put@default{\global\let\insert@here=N
  2642.    \global\let\insert@at@the@bottom=N} %binding changed from Y to N
  2643. % Allow figures to be inserted a the current position (if possible):
  2644. \def\puthere{\global\let\insert@here=Y
  2645.     \global\let\insert@at@the@bottom=N}
  2646. % All figures are inserted at the top:
  2647. \def\putattop{\global\let\insert@here=N
  2648.     \global\let\insert@at@the@bottom=N}
  2649. % Figures are inserted at the bottom (if possible):
  2650. \def\putatbottom{\global\let\insert@here=N
  2651.     \global\let\insert@at@the@bottom=X}
  2652. %--------------------------------------------------------------------
  2653. \put@default
  2654. \let\last@insert=N        % Always reset to 'N' when a column is finished
  2655. \def\end@skip{\smallskip} % This space is added except after bottom insertions
  2656. \newdimen\min@top
  2657. \newdimen\min@here
  2658. \newdimen\min@bot
  2659. \min@top=10cm
  2660. \min@here=4cm   % do not insert figures after a few lines of text only
  2661. \min@bot=\topskip % figures may be at the bottom but there is a \@startins
  2662. \def\figfuzz{\vskip 0pt plus 6pt minus 3pt}  % more flexible spacing
  2663. %--------------------------------------------------------------------
  2664. %
  2665. \def\check@here@and@bottom#1{\relax
  2666.    %%% Several conditions have to be true if a figure or table can be
  2667.    %%% inserted at the current position or at the bottom of the page.
  2668.    %%% These conditions should preserve the
  2669.    %%% order of single column figures and put floating figures
  2670.    %%% always to the top of a column. However, exceptions are
  2671.    %%% possible with a \puthere\begfig{...}\endfig appearing at
  2672.    %%% the current position and a later \begfig{...}\endfig
  2673.    %%% appearing at the top of the same column.
  2674.    %
  2675.    \ifvoid\topins\else       \global\let\insert@here=N\fi
  2676.    \if B\last@insert         \global\let\insert@here=N\fi
  2677.    \if T\last@insert         \global\let\insert@here=N\fi
  2678.    \ifdim #1<\min@bot        \global\let\insert@here=N\fi
  2679.    \ifdim\pagetotal>\@colht  \global\let\insert@here=N\fi
  2680.    \ifdim\pagetotal<\min@here\global\let\insert@here=N\fi
  2681.    %
  2682.    \if X\insert@at@the@bottom\global\let\insert@at@the@bottom=Y
  2683.      \else\if T\last@insert  \global\let\insert@at@the@bottom=N\fi
  2684.           \if H\last@insert  \global\let\insert@at@the@bottom=N\fi
  2685.           \ifvoid\topins\else\global\let\insert@at@the@bottom=N\fi\fi
  2686.    \ifdim #1<\min@bot        \global\let\insert@at@the@bottom=N\fi
  2687.    \ifdim\pagetotal>\@colht  \global\let\insert@at@the@bottom=N\fi
  2688.    \ifdim\pagetotal<\min@top \global\let\insert@at@the@bottom=N\fi
  2689.    %
  2690.    \ifvoid\bottomins\else    \global\let\insert@at@the@bottom=Y\fi
  2691.    \if Y\insert@at@the@bottom\global\let\insert@here=N\fi }
  2692. %
  2693. \def\single@column@insert#1{\relax
  2694.    \setbox\@tempboxa=\vbox{#1}
  2695.    \dimen@=\@colht \advance\dimen@ by -\pagetotal
  2696.    \advance\dimen@ by-\ht\@tempboxa \advance\dimen0 by-\dp\@tempboxa
  2697.    \advance\dimen@ by-\ht\topins \advance\dimen0 by-\dp\topins
  2698.    \check@here@and@bottom{\dimen@}
  2699.    \if Y\insert@here
  2700.       \par  % The insertion forces a new paragraph in this case.
  2701.       \midinsert\figfuzz\bigskip\box\@tempboxa\end@skip\figfuzz\endinsert
  2702.       \global\let\last@insert=H
  2703.    \else \if Y\insert@at@the@bottom
  2704.       \begingroup\insert\bottomins\bgroup\if B\last@insert\end@skip\fi
  2705.       \floatingpenalty=20000\figfuzz\bigskip\box\@tempboxa\egroup\endgroup
  2706.       \global\let\last@insert=B
  2707.    \else
  2708.       \topinsert\box\@tempboxa\end@skip\figfuzz\endinsert
  2709.       \global\let\last@insert=T
  2710.    \fi\fi\put@default}
  2711. %
  2712. % ---------------- The insertion macros for the user -------------------
  2713. %
  2714. \def\begfig#1cm#2\endfig{\single@column@insert{\@startins\frame{#1}#2}}
  2715. \def\begfigwid#1cm#2\endfig{\relax
  2716.    \if N\lr  % Here the only difference to \begfig is the larger \hsize
  2717.       {\hsize=\fullhsize \begfig#1cm#2\endfig}
  2718.    \else
  2719.       \bothtopinsert\line{\vbox{\hsize=\fullhsize
  2720.       \@startins\frame{#1}#2\smallskip}\hss}\figfuzz\endbothinsert
  2721.    \fi}
  2722. \def\begfigpage#1cm#2\endfig{\specialpage{\@startins
  2723.    \vskip3.7pt\frame{#1}#2}}
  2724. \def\begtab#1cm#2\endtab{\single@column@insert{\medskip#2\frame{#1}}}
  2725. \let\begtabempty=\begtab
  2726. %% 11.10.90 eri: \petit inserted
  2727. \def\begtabfull#1\endtab{\single@column@insert{\medskip{\petit #1}}}
  2728. \def\begtabemptywid#1cm#2\endtab{\relax
  2729.    \if N\lr
  2730.       {\hsize=\fullhsize \begtabempty#1cm#2\endtab}
  2731.    \else
  2732.       \bothtopinsert\line{\vbox{\hsize=\fullhsize
  2733.       #2\frame{#1}}\hss}\medskip\endbothinsert
  2734.    \fi}
  2735. %% 11.10.90 eri: \petit inserted
  2736. \def\begtabfullwid#1\endtab{\relax
  2737.    \if N\lr
  2738.       {\hsize=\fullhsize \begtabfull#1\endtab}
  2739.    \else
  2740.       \bothtopinsert\line{\vbox{{\petit\hsize=\fullhsize
  2741.       \noindent#1}\hss}}\medskip\endbothinsert
  2742.    \fi}
  2743. \def\begtabpage#1\endtab{\specialpage{#1}}
  2744. %--------------------------------------------------------------------
  2745. % Figure captions modified: \smallskip at the end is environment dependent
  2746. \def\figure#1#2{\bigskip\noindent{\petit{\bf Fig.\ts#1.\ }%
  2747. \ignorespaces #2\smallskip}}
  2748. %--------------------------------------------------------------------
  2749. %%%
  2750. %%% This is what the new \refereelayout looks like.
  2751. %%%
  2752. \def\refereelayout{\let\REFEREE=M\footline={\copy\refereebox}
  2753.     \message{|A referee's copy will be produced}\par
  2754.     \if N\lr\else\if R\lr \onecolumn \fi \let\lr=N \topskip=\defaulttopskip\fi}
  2755. %
  2756. %====================================================================
  2757. %%%
  2758. %%% Here are a few modifications to style parameters. They discourage
  2759. %%% page (or rather column) breaks before displayed equations (but not
  2760. %%% as much as it was in PLAIN.TEX).
  2761. %%%
  2762. \predisplaypenalty=600        % Make a page break before a display harder
  2763. \displaywidowpenalty=2000     % and even harder for a widow display.
  2764. %%%
  2765. %%% Clubs and widows are discouraged. They should never appear in
  2766. %%% a the journal. However, TeX cannot distinguish between a bad
  2767. %%% page break and a disastrous page break. The very large penalties
  2768. %%% for club and widow lines can be reduced temporarily with
  2769. %%% \widowsandclubs{nnnn} with nnnn below 1000 (the default is 1010).
  2770. %%% If a club or widow line appears (which is possible then),
  2771. %%% the user is notified (see the \@makecolumn macro).
  2772. %%%
  2773. \def\widowsandclubs#1{\global\verybad=#1
  2774.    \global\widowpenalty=\the\verybad1      % default: 10101
  2775.    \global\clubpenalty=\the\verybad2  }    % default: 10102
  2776. \widowsandclubs{1010}
  2777. %
  2778. %--------------------------------------------------------------------
  2779. %%%
  2780. %%% In addition to printing the modification note the following
  2781. %%% modification of \typeset is important to get balanced columns
  2782. %%% on the last page of ordinary text. However, single column figures
  2783. %%% or tables printed later might be unbalanced.
  2784. %%%
  2785. \newcount\the@end \global\the@end=0
  2786. %\newbox\springerMacro \setbox\springerMacro=\vbox{}
  2787. %\def\typeset{\setbox\springerMacro=\vbox{\petit\noindent
  2788. %   This article was processed by the author using
  2789. %   Sprin\-ger-Ver\-lag \TeX\ \SprJLogoname\ macro package 1990.}
  2790. %   \global\the@end=1}
  2791. \def\typeset{%\springerMacro
  2792. \global\the@end=1}
  2793. %--------------------------------------------------------------------
  2794. \catcode`@=12
  2795. \catcode`\@=\active   % This is reset by the \maketitle macro
  2796. %
  2797. %%% Now tell the user that this file was included
  2798. %
  2799. \message{You included the fix for double column
  2800.     floating insertions (V 1.08)              }
  2801. % End of included file: twocol.tex
  2802. % added by binding 20.12.90
  2803. \def\newline{\hfil\break}
  2804.